public delegate void HandlerDelegate(int val);
public class Process
{
public static void Execute(HandlerDelegate del)
{
del(5);
}
}
class Program
{
static void Main(string[] args)
{
//HandlerDelegate handler = Task; normally I would do this first
Process.Execute(Task); // but this works - how?
}
public static void Task(int val)
{
Console.WriteLine(val);
}
}
我知道委托是对方法的引用,但是我如何能够将看起来像方法名称的方法传递给接受委托作为其参数的方法?
答案 0 :(得分:2)
它只是实例化委托
的众多方法之一例如:
public delegate void Del<T>(T item);//delegate
public void Notify(int i) { }//instance method
使用通知
方法实例化上述代理 Del 的不同方法Del<int> d1 = new Del<int>(Notify);
OR
Del<int> d2 = Notify;