C# 委托

基本步骤

(1)定义委托类型,其定义类似方法的定义,只是多了一个delegate;

(2)实例化委托,委托也是属于类类型所以用也用new关键字实例化;

委托的实例化用一个方法名作为参数,并且该方法的定义必须符合委托的定义;

即参数个数、参数类型、返回类型与委托一样

(3)把委托实例化的对象当参数传递给其他方法或直接执行委托(实质就是在执行委托包装的方法);

C#委托可以理解为函数的包装,他可以使方法作为参数来传递给另一个方法

--委托是类类型--委托实例可以调用方法

例:

 1 class HelloWorld
 2    {
 3       //定义委托类型,其定义类似方法的定义,只是多了一个delegate;
 4       delegate void Mydelegate(int a,int b);
 5       static void Main(string[] args)
 6       {
 7          //声明与实例化委托变量
 8          Mydelegate mydelegate=new Mydelegate(new HelloWorld().Add);
 9          //将实例化的对象mydelegate作为参数传递给方法
10          new HelloWorld().Go(mydelegate);
11          Console.ReadKey();
12       }
13       void Add(int a=0,int b=0)
14       {
15           Console.Write("This sum is {0}",a+b);
16       }
17        private void Go(Mydelegate mydelete)
18        {
19            //在方法中调用委托(隐式调用)
20            mydelete(10,20);
21            //(显式调用)委托是类类型 委托实例可以调用方法Invoke方法是委托的内置方法
22            //隐式实质也是调用Invoke方法执行的
23            mydelete.Invoke(10,20);
24            
25        }
26    }

结果为:

原文地址:https://www.cnblogs.com/lbonet/p/6894116.html