C#委托简介

【什么是委托】

允许我们将方法作为参数传递到另一个方法中

【形式】

//普通方法
public void GreetingDelegate(string name) 

//委托的形式
public delegate void GreetingDelegate(string name)

//使用委托
private static void GreetPeople(string name, GreetingDelegate MakeGreeting)

【与方法的区别】

1.委托前面有关键字delegate

2.委托只能声明在类外

【解析】

委托本质是一个类,所以具有类的特性,故只能声明在类外

因此可以实例化

GreetingDelegate delegate1, delegate2;
    delegate1 = EnglishGreeting;
    delegate2 = ChineseGreeting;
    GreetPeople("Liker", delegate1);
    GreetPeople("李志中", delegate2);

注意:没有new关键字

可以使用+=,-=

GreetingDelegate delegate1;
    delegate1 = EnglishGreeting; 
    delegate1 += ChineseGreeting;
    GreetPeople("Liker", delegate1);

delegate1 -= EnglishGreeting;
    GreetPeople("李志中", delegate1);

因为可以将多个方法绑定到同一个委托

注意:

第一个等于是赋值,第二个是绑定,不能直接使用+=

记录编程的点滴,体会学习的乐趣
原文地址:https://www.cnblogs.com/AduBlog/p/13602888.html