委托
当要把方法传送给其他方法时,需要使用委托。把方法当做参数传递。
定义委托基本上是定义一个新类,所以可以在定义类的任何相同地方定义委托。
委托的实例包含的方法,必须与委托的参数值、返回值类型相符
语法定义: delegate 返回值类型 委托名称(参数类型 参数名);
如 delegate void Show(int x);
表示委托的实例方法是有1个int参数值并且返回void。
//定义委托 delegate void Show(Test t); static void Main(string[] args) { //使用委托 Test t = new Test(); Show show = new Show(ShowTest); show(t); //错误的例子 与委托的返回值不一样 int x = 1; Show show1 = new Show(ShowTest1); show1(x); //错误的例子 与委托的参数值不一样 Show show2 = new Show(ShowTest2); show1(x); Console.ReadKey(); } static void ShowTest(Test t) { Console.WriteLine(t.X); } static string ShowTest1(Test t) { return t.X.ToString(); } static void ShowTest2(int t) { Console.WriteLine(t); }
原文:https://www.cnblogs.com/liuxiansheng1024/p/12616357.html