委托背后那点事

来源:互联网 发布:linux移动文件权限不够 编辑:程序博客网 时间:2024/06/11 09:46

当我们声明了一个如下的委托

public delegate string StringOperation(string myString);


 

编译器会产生如下代码:

public sealed class StringOperation: System.MulticastDelegate{  public StringOperation (object target, int method);  public virtual void Invoke(string myString);  public virtual IAsyncResult BeginInvoke(string myString,  AsyncCallback callback, object obj);  public virtual void EndInvoke(IAsyncResult result);}


你可以看到 .ctor: void (Object ,native int) (这是一个构造函数,类似与System.MulticastDelege 构造函数)。Invoke函数必须同引用方法有相同的签名。

 

原创粉丝点击