一、委托的作用
如果我们需要把一个方法当成参数来使用,那就需要用到委托,委托就是持有方法的引用。 这个方法可以是普通法方法,也可以是静态方法。
二、委托的声明
//声明,声明有一个参数有返回值的委托
delegate int MyDele(int num);
delegate:关键字,提示系统声明委托
int :表示委托可以引用的方法有返回值,且为int类型
MyDele:委托类名,这个名字是一个类型
(int num):表示委托可以引用的方法有一个参数,且为int类型
这是其中一个形式的委托,可以无返回值无参数,也可以有多个参数。
三、委托的使用
class Program
{
//声明,声明有一个参数有返回值的委托
delegate int MyDele(int num);
static void Main(string[] args)
{
//使用
//两种实例化委托的方式,没被注释的一种优先用
//MyDele de=new MyDele(Test);
MyDele de = Test;
//两种委托赋值的方式,没被注释的一种优先用
int a = de(5);
//int a = de.Invoke(5);
Console.WriteLine(a);
//委托当方法的参数使用,25+10+50
Console.WriteLine(Add(de(25)));
Console.ReadKey();
}
/// 一个数加10,返回这个数
public static int Test(int num)
{
num += 10;
return num;
}
/// 一个数加50,返回这个数
private static int Add(int a)
{
a += 50;
return a;
}