如何實現將方法作為參數傳遞
示例是控制台程序,代碼如下:
class Program { static void Main(string[] args) { FuncB(FuncA,x); Console.WriteLine("c:"+c.ToString()); Console.ReadKey(); } static int a = 2; static int b = 3; static int c = 0; static int x = 4; //聲明一個方法型,關鍵字就是delegate,有參數就帶上參數 public delegate void FuncA_EventHandler(int aa); //用上面的方法類型聲明一個對象_funcA static FuncA_EventHandler _funcA; //需要作為參數傳遞的方法FuncA public static void FuncA(int x) { c = (a + b) * x; } //以FuncA為參數的方法FuncB,FuncA有參數,FuncB也加一個就行了 public static void FuncB(FuncA_EventHandler funcA,int x) { _funcA = funcA; if (_funcA!=null) { _funcA(x); } //_funcA?.Invoke(2);//簡化寫法 } }
運行結果:

