CSharp

There are 1 entries for the tag CSharp

C#的类型构造器和beforefieldinit标志

MitchellChu 2016-03-09 .NET技术 编程语言

首先让我们来看两个类型的定义: // 代码来自C# in Depth // 为了后继的讨论方便,对类名进行了更改(Test改为Test1和Test2) // —— Mitchell Chu class Test1 { static object o = new object(); } class Test2 { static object o; static Test2() { o = new object(); } } 这两个类,经常会被误认为是一样的,但实际情况是如何呢?让我们编译后,反编译后来看看他们产生的代码: // IL代码 // Test1和Test2在定义的时候出现了不同. // —— Mitchell Chu .class private auto ansi beforefieldinit ClassLibrary1.Test1 extends [mscorlib]System.Object { // Fields .field private static object o // Methods .method public hidebysig specialname rtspecialname instance...

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。