[导入][MSIL] 30. Delegate
委托(delegate)是一种特殊的引用类型,专门设计用来描述类型安全的托管方法指针。所有的委托必须继承自 MulticastDelegate, 它们没有字段(fields)、事件(events)和属性(properties)成员,只能有几个特殊的实例方法,这些方法由 CLR 来实现其内部指令,我们只提供方法声明,并添加 runtime managed 指示标记。其中有两个强制方法,分别是 .ctor 和 Invoke。除 .ctor 外,其他方法必须是虚方法。
我们看一个简单的 C# 委托所对应的 IL 代码。
C#
MSIL
文章来源:http://www.rainsts.net/article.asp?id=607
我们看一个简单的 C# 委托所对应的 IL 代码。
C#
delegate void MyHandler(string s, int x);
MSIL
.class private auto ansi sealed MyHandler
extends [mscorlib]System.MulticastDelegate
extends [mscorlib]System.MulticastDelegate
文章来源:http://www.rainsts.net/article.asp?id=607