Gis*_*shu 38
delegate关键字是让编译器为你做一些魔术.当您使用自定义签名声明新委托时,
所以现在当你调用时delObject(args)- 编译器会将其转换为delObject.Invoke(args)
Delegate基类提供了一些功能,例如
C#编译器禁止您在代码中explcitly派生..您必须使用delegate关键字.
Luk*_*keH 35
来自http://msdn.microsoft.com/en-us/library/system.delegate.aspx:
的
Delegate类是委托类型的基类.但是,只有系统和编译器可以从Delegate类或MulticastDelegate类中明确派生.也不允许从委托类型派生新类型.所述Delegate类不被认为是委托类型; 它是一个用于派生委托类型的类.大多数语言都实现了一个
delegate关键字,这些语言的编译器能够从MulticastDelegate类中派生出来 ; 因此,用户应使用delegate该语言提供的关键字.
您可以使用delegate关键字做的另一件事是创建内联委托,而无需声明它们,例如:
// constructor
public Form1()
{
this.Load += delegate(object sender, EventArgs e)
{
// Form1_Load code goes right here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10845 次 |
| 最近记录: |