首页 > 其他 > 详细

第八章方法(CLR学习)

时间:2015-10-22 19:21:15      阅读:272      评论:0      收藏:0      [点我收藏+]

  实例构造器和类(引用类型)

    构造器是将类型的实例初始化良好状态的特殊方法。构造器方法在"方法定义元数据表"中始终叫做.ctor(constructor的简称);

    创建引用类型的实例时,首先为实例的数据字段分分配呢村,然后初始化对象的附加字段(类型对象指针和同步块索引),最后调用类型的实力构造器来设置对象的初始状态。

    实例构造器永远不能被继承。也就是说,类只有类自己定义的实例构造器。

    类没有显式定义任何构造器,C#编译器将定义为一个默认的(无参)构造器。

    如果类的修饰符为abstract,那么编译器生成的默认构造器的可访问性就为Proteced;

    如基类没有提供无参构造器,那么派生类必须显式调用一个基类的构造器,否则编译器会报错。

    如果类修饰符为staic(sealed和abstract),编译器根本不会在类的定义生成默认构造器。(静态类在元数据中是抽象密封类)

重要提示:不要在构造器中调用虚方法。

  

  实例构造器和结果(值类型)

   值类型(struct)构造器的工作方式与引用类型(Class)的构造器截然不同。CLR总是允许创建值类型的实例,并且没有办法阻止值类型的实例化。

  注意:

    1.结构不能包含显式的无参数构造函数

    2.结构中不能有实例字段初始值设定项

    3.在构造器控制返回到调用方之前,结构的字段必须完全赋值

第八章方法(CLR学习)

原文:http://www.cnblogs.com/jzhou/p/4901643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!