委托
委托概念:
委托是引用类型,也可以自定义类型;
换个概念:A委托B去做一件事。站在A的角度,A委托了B,站在B的角度,B是A的代理。
C#语言中的委托比较抽象:委托指向一系列具有相同签名和返回类型的方法的地址。
总结:委托是一系列方法地址的引用,委托就代理了一系列的方法。调用委托就相当于调用这一系列方法。
委托定义:
使用delegate关键字
在类内部可以定义,在类外部也可以,在方法中不能定义
internal class Program
{
//定义委托,观察一下:委托和方法的形式的区别:a.没有方法体 b.多个delegate关键字。
//可以没有返回,可以没有参数。
public delegate void SayHello();
public delegate bool Delegate1(string arg);
}
调用/使用委托:
方法:返回值类型 返回值变量 = 方法名(形参列表):
委托不能像方法那样直接调用,委托没有方法体,委托必须代理某个方法
委托实例名直接调用。如:
SayHello sayChinese = new SayHello(SayChinese);
sayChinese();
Inovke执行委托
如果委托定义没有参数,则Inovke也没有参数;委托没有返回值,则Inovke也没有返回值
BeginInvoke开启一个新线程执行委托
NetCo