WEB开发网
开发学院软件开发C语言 《C# to IL》第二章 IL基础 阅读

《C# to IL》第二章 IL基础

 2009-06-01 08:31:09 来源:WEB开发网   
核心提示: 因此,上面的程序首先使用WriteLine函数来显示hi,《C# to IL》第二章 IL基础(3),并随后调用静态函数abc,这个函数还使用了WriteLine函数来显示bye,这一点,应该增强我们作为C#程序员的能力,a.cs class zzz { public static vo

因此,上面的程序首先使用WriteLine函数来显示hi,并随后调用静态函数abc。这个函数还使用了WriteLine函数来显示bye。

a.cs

    class zzz
    {
        public static void Main()
        {
            System.Console.WriteLine("hi");
        }
        static zzz()
        {
            System.Console.WriteLine("bye");
        }
    }

a.il

.assembly mukhi {}
.class private auto ansi zzz extends System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
ldstr "hi"
call void System.Console::WriteLine(class System.String)
ret
}
.method private hidebysig specialname rtspecialname static void .cctor() il managed
{
ldstr "bye"
call void [mscorlib]System.Console::WriteLine(class System.String)
ret
}
}

Output

bye

hi

静态构造函数总是在任何其它代码执行之前被调用。在C#中,静态函数只是一个和类具有相同名称的函数。在IL中,函数名称改变为.cctor。因此,你可能注意到在先前的例子中,我们使用了一个名为ctor的函数(而不需要事先定义)。

无论我们何时调用一个无构造函数的类时,都会自动创建一个没有参数的构造函数。这个自动生成的构造函数具有给定的名称.ctor。这一点,应该增强我们作为C#程序员的能力,因为我们现在正处在一个较好的位置上来理解那些深入实质的东西。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:to IL 第二章

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接