CLR via C#学习笔记---类型

类的内存分配:http://www.cnblogs.com/JimmyZhang/archive/2008/01/31/1059383.html

关键字:

abstract     (类)该类不能构建实例     (方法/属性/事件)表示构建派生类型的实例之前派生类型必须重写并实现这个成员 )

(常量/字段)不允许

virtual       (类)不允许                     (方法/属性/事件)表示这个成员可以由派生类重写

(常量/字段)不允许

override      (类)不允许                     (方法/属性/事件)表示派生类型重写了基类的成员

(常量/字段)不允许

sealed         (类)表示该类型不能用作基础类  (方法/属性/事件)表示这个成员不能被派生类重写,该关键字仅用于重写了虚                    方法的方法          (常量/字段)不允许

new             应用嵌套类型、方法、属性、事件、常量或者字段时,表示该成员与基类中类似的成员没有关系

时间: 2024-10-30 08:58:19

CLR via C#学习笔记---类型的相关文章

CLR via C#学习笔记----知识总概括

第1章 CLR的执行模型 托管模块的各个组成部分:PE32或PE32+头,CLR头,元数据,IL(中间语言)代码. 高级语言通常只公开了CLR的所有功能的一个子集.然而,IL汇编语言允许开发人员访问CLR的所有功能. JITCompiler函数负责将一个方法的IL代码编译成本地CPU指令.由于IL是“即时”(just in time)编译的,所以通常将CLR的这个组件称为JITter或者JIT编译器. Microsoft定义了一个“公共语言规范”(Common Language Specific

JAVA学习笔记-类型提升的问题

//表达式中的类型提升问题 int a = 3; long b = 4; double d = 5.3; int c =(int)(a+b); //做所有的二元运算符(+-*/%),都会有类型提升的问题! float f = (float)(a+b);    //a为int,b为double,a+b会被提升为double类型,而赋值给f时,f为float类型,股需要强制转换! 容易出错的练习题: 一年挣10亿,20年挣多少钱? int money = 1000000000; int years

JavaScript 学习笔记— —类型判断

//1 判断是否为数组类型 var a=[0]; console.log(isArray(a)); function isArray(obj){ return (typeof obj=='object') && obj.constructor==Array; } console.log("2-----------------------------------") //2 判断是否为字符串类型 console.log(isString('test')); console

C语言学习笔记--类型定义&联合

一.类型定义 C语言自定义数据类型 (typedef) C语言提供一个叫做typedef的功能来声明一个已有的数据类型的新名字. typedef int Length; 使得Length成为int类型的别名. 这样,Length就可以替代int出现在定义变量和声明函数的地方了. Length a,b; Length a[10]; 新的类型的名字是原来类型的别名:改善了程序的可读性. typedef struct { int day; int month; int year; } Date;  

(CLR via C#学习笔记)异步操作 - 线程池

一 线程池基础 1.线程池维护了一个操作请求队列,将请求的操作追加到线程池队列中,线程池的代码从队列中提取操作项,派发给线程池中的线程; 2.CLR初始化时,线程池中是没有线程的,当有操作派发给线程池时,如果线程池中没有线程或者没有空闲状态的线程,将会创建一个新的线程执行派发的操作,如果有空闲状态的线程,将直接派发一个空闲状态的线程执行操作; 3.线程池线程完成操作任务后,线程不会被销毁,而是返回线程池,进入空闲状态,等待响应另一个派发请求;4.当一个线程池线程处于空闲状态一段时间后(不同的CL

(CLR via C#学习笔记)任务和并行操作

一 任务 可以调用ThreadPool的QueueUserWorkItem方法发起一次异步的计算限制操作.但这个技术有很多限制.最大的问题是没有内建的机制让你知道操作在什么时候完成和操作完成时的返回值.为了克服这些限制(并解决其他一些问题),Microsoft引入了任务的概念. 1 //调用QueueUserWorkItem 2 ThreadPool.QueueUserWorkItem(DoSomeThing, 5); 3 4 //用任务来做相同的事情 5 Task.Run(() => DoSo

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

C++ Primer 学习笔记_102_特殊工具与技术 --运行时类型识别[续]

特殊工具与技术 --运行时类型识别[续] 三.RTTI的使用 当比较两个派生类对象的时候,我们希望比较可能特定于派生类的数据成员.如果形参是基类引用,就只能比较基类中出现的成员,我们不能访问在派生类中但不在基类中出现的成员. 因此我们可以使用RTTI,在试图比较不同类型的对象时返回假(false). 我们将定义单个相等操作符.每个类定义一个虚函数 equal,该函数首先将操作数强制转换为正确的类型.如果转换成功,就进行真正的比较:如果转换失败,equal 操作就返回 false. 1.类层次 c

《iOS应用逆向工程》学习笔记(四)iOS程序类型

越狱iOS中最常见的程序有Application, Dynamic Library和Daemon三类. 1.Application 除了传统意义上的App外,越狱iOS平台上还有两种App形式的存在:WeeApp(依附于NotificationCenter的App)和PreferenceBundle(依附于Settings的App),常见于Cydia平台. 普通App的bundle中存放的是可执行程序和所需资源,而framework的bundle中存放的是动态链接库. 主要关注App中的三个部分