C#委托就像C语言中的指针一样。那么委托到底是用来做什么呢,一般在小程序里面体会不到委托的好处可能会让程序显得更加复杂一些,但是东西多了就知道了委托的好处,博主目前还在探索阶段。。。
关于委托的用法基本实现方式是这这样的:
using System;
namespace ConsoleApp1
{
class DelegateTest
{
static int num = 1;
public delegate int delAdd(int a);//声明委托方法 声明参数
static void Main(string[] args)
{
//创建委托实例
delAdd lastSum;
delAdd ad = new delAdd(NumAdd);//实例化委托,委托方法1
delAdd mu = new delAdd(NumMult);//实例化委托 委托方法2
lastSum = ad;
lastSum += mu;//委托的多播
//调用多播
lastSum(5);
Console.WriteLine(GetSum());//输出结果
Console.ReadLine();
}
public static int NumAdd(int a)//代理对象方法1
{
num += a;
return num;
}
public static int NumMult(int b)//代理对象方法2
{
num *= b;
return num;
}
public static int GetSum()
{
return num;
}
}
}
这时候得到的结果是30。