1.委托(delegate)调用静态方法
委托类似于C++中的函数指针。
某方法仅仅在执行的时候才能确定是否被调用。
是实现事件和回调函数的基础。
面向对象,安全性高.
using System; using System.IO; namespace IO { class Program { // 声明一个delegate(委托) delegate int NumberChanger(int n); static int num = 10; static void Main(string[] args) { // 实例化一个委托,构造函数内是符合要求的静态函数 NumberChanger nc1 = new NumberChanger(AddNum); // 调用方式与调用方法一致 nc1(120); Console.WriteLine(num); } // 声明一个符合要求的静态方法,该方法的返回值以及参数列表必须与所声明的委托一致 public static int AddNum(int p) { num += p; return num; } } }
2.通过委托调用实例化方法
using System; using System.IO; namespace IO { class Program { // 声明一个delegate(委托) delegate int NumberChanger(int n); static void Main(string[] args) { MyClass mc = new MyClass(); NumberChanger nc2 = new NumberChanger(mc.AddNum); Console.WriteLine(nc2(1)); } } class MyClass { private int num = 60; public int AddNum(int p) { num += p; return num; } } }
原文:https://www.cnblogs.com/Tanqurey/p/12260244.html