Delegate void d(int x) delegate void D(int x); class C { public static void M1(int i) {...} public void M2(int i) {...} } class Test { static void Main() { D cd1 = new D(C.M1); // static method Test t = new C(); D cd2 = new D(t.M2); // instance method D cd3 = new D(cd2); // another delegate } }
public delegate int MathOp(int i,int j);//定義託付 class DelegateTest { public static int add(int i, int j) {//方法 return i + j; } public static int Mutiply(int num1, int num2) {//方法 return num1 * num2; } static void Main(string[] args) { MathOp mo = new MathOp(add);//託付的實例化,指向add方法 MathOp maOp = new MathOp(Mutiply);//託付的實例化,指向Mutiply方法 Console.WriteLine(mo(10, 20));//託付的調用 Console.WriteLine(maOp(4, 5));//託付的調用 Console.ReadLine(); } } }
仍是先前學藝不精佔呀。安全
託付的使用一般與匿名函數或lambda表達式匹配使用,下篇介紹匿名函數。
函數
版權聲明:本文博主原創文章,博客,未經贊成不得轉載。spa