WEB开发网
开发学院软件开发C语言 (翻译) 《C# to IL》第一章 IL入门 阅读

(翻译) 《C# to IL》第一章 IL入门

 2009-05-29 08:31:17 来源:WEB开发网   
核心提示: Outputhell 我们在方法vijay上添加了一些特性,接下来我们将逐个讲解它们,(翻译) 《C# to IL》第一章 IL入门(6), public:被称为可访问特性,它决定了都有谁可以访问一个方法,我们首先在类的名称前指定关键字class,随后,public意味着这个方法可以被程序

Output

hell

我们在方法vijay上添加了一些特性。接下来我们将逐个讲解它们。

public:被称为可访问特性,它决定了都有谁可以访问一个方法。public意味着这个方法可以被程序的其他任何部分所访问。

hidebysig:类可以从其它多个类中派生。hidebysig特性保证了父类中的函数在具有相同名称或签名的派生类中会被隐藏。在这个例子中,它保证了如果函数vijay出现在基类中,那么它在派生类中就是不可见的。

static:方法可以是静态的或非静态的。静态方法属于一个类而不属于一个实例。因此, 就像我们只有一个单独的类,我们不能拥有一个静态函数的多份复制。静态函数可以在哪里创建是没有约束的。带有entrypoint指令的函数必须是静态的。静态函数必须具有相关联的实体或者源代码,并且使用类型名称而不是实例名称来引用它们。

il managed:由于它的复杂性质,我们将关于这个特性的解释延后。当时机成熟时,它的功能将会被解释清楚。

上面涉及的特性并没有修改函数的输出。 稍后,你将明白为什么我们要提供这些特性的解释。

无论何时我们用C#语言编写一个程序,我们首先在类的名称前指定关键字class,随后,我们将源代码封闭在一对花括号内。示范如下:

a.cs

class zzz
{

}

让我们引进称为class的IL指令:

a.il

.assembly mukhi {}
.class zzz
{
      .method public hidebysig static void vijay()il managed
      {
            .entrypoint
            ldstr "hell"
            call void System.Console::WriteLine(class System.String)
            ret
      }
}

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

Tags:翻译 to IL

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