c# 引用类型构造器

 更新时间:2012年10月29日 13:54:24   作者:  
引用类型构造器,是将类型的实例初始化为良好状态的一种特殊方法
创建一个引用类型的实例时,

首先为实例的数据字段分配内存,

然后初始化对象的附加字段(对象指针、同步块索引),

最后调用类型中定义的实例构造器来设置对象的初始化状态。

构造引用类型的对象时,在调用类型的实例构造器之前,为对象分配所有字段的内存总是被先归零或为null。

实例构造器永远不能被继续。如果定义的类中没有显式构造器,
c#编译器将定义一个默认构造器,在它的实现中,只是简单调用基类的无参构造器。
所以:
public class SomeType{}
等价于
public class SomeTyoe{
public SomeType():base(){}
}
如果类的修饰符是abstract,那么编译器生成的默认的构造器是protected,否则是public。
如果基类没有提供无参构造器,那么派生类就必须显示调用一个基类构造器,否则编译报错。
如果是静态类,那么类没有实例构造器。
在类中访问基类的字段之前,必须调用基类的构造器,如果没有显式调用基类的构造器,
c#编译器会自动生成对默认的基类构造器的调用,最后会调用Object的构造器。

相关文章

  • C#多线程学习之Thread、ThreadPool、Task、Parallel四者区别

    C#多线程学习之Thread、ThreadPool、Task、Parallel四者区别

    这篇文章主要以一些简单的小例子,简述多线程的发展历程:Thread,ThreadPool,Task,Parallel。文中的示例代码讲解详细,对我们学习C#多线程有一定帮助,需要的朋友可以参考一下
    2021-12-12
  • C#读取命令行参数的方法

    C#读取命令行参数的方法

    这篇文章主要介绍了C#读取命令行参数的方法,可实现读取程序输入命令行的所有参数,便于调试程序,比较简单实用,需要的朋友可以参考下
    2015-04-04
  • C# dataset存放多张表的实例

    C# dataset存放多张表的实例

    这篇文章主要介绍了C# dataset存放多张表的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C#实现上位机的远程监控与控制的详细步骤

    C#实现上位机的远程监控与控制的详细步骤

    随着工业自动化、物联网以及智能控制系统的普及,远程监控与控制逐渐成为了许多系统的核心需求,上位机作为控制与监测系统的核心,常用于接收处理来自下位机的数据并进行控制操作,C#作为一门高效且功能强大的编程语言,本文将探讨如何使用C#实现上位机远程监控与控制
    2025-01-01
  • C# 通过 inline-asm 解决嵌入x86汇编

    C# 通过 inline-asm 解决嵌入x86汇编

    此篇文章通过C#语言解决嵌入x86汇编,主要通过INline-asm方法来实现,下面我通过图片和代码的形式给大家分享下,需要的朋友可以参考下
    2015-07-07
  • C#异步的世界(下)

    C#异步的世界(下)

    这篇文章主要介绍了C#异步的世界(下),对异步感兴趣的同学,可以参考下
    2021-04-04
  • C#使用HtmlAgilityPack实现解析提取HTML内容

    C#使用HtmlAgilityPack实现解析提取HTML内容

    HtmlAgilityPack是一个HTML解析类库,这篇文章主要为大家详细介绍了C#如何使用HtmlAgilityPack实现解析提取HTML内容,感兴趣的小伙伴可以参考一下
    2023-12-12
  • C#自定义转换器的实现

    C#自定义转换器的实现

    本文主要介绍了C#自定义转换器的实现,包括隐式转换和显式转换的语法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)

    C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)

    这篇文章主要给大家介绍了关于C#仪器数据文件如何解析Excel文件的方法,包括解析xls、xlsx两种格式,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • C#图表开发之Chart详解

    C#图表开发之Chart详解

    C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对象,每个Series代表图表中的一个数据系列,Series对象有一个Points属性,用于存储数据点,每个数据点是一个DataPoint对象
    2024-12-12

最新评论