C# Delegate 委托

╄→гoц情女王★ 提交于 2020-02-05 07:39:16

https://www.runoob.com/csharp/csharp-delegate.html

1、    解释:
(1)    委托(Delegate)一种引用类型变量,是对某个方法的引用的。可以看做一个“函数包装”,把函数包装成对象用来传递
(2)    类似 指向方法的指针,所以引用的方法可在运行时被改变。
(3)    委托(Delegate)用于实现事件和回调方法。
(4)    所有的委托都派生自 System.Delegate 类。

2、    声明委托类型:
       委托类型声明决定了可引用的方法类型。此委托类型的实例可指向一个相同类型的方法。例如:

public delegate void printString(string s);
// 实例化委托
printString ps1 = new printString(WriteToScreen);
printString ps2 = new printString(WriteToFile);

4、    委托的多播:
一个委托可以调用多个方法,这被称为委托的多播(multicasting),也叫组播。
"+" 运算符合并委托。一个委托调用它所合并的多个委托。只有相同类型的委托可被合并。
"-" 运算符可用于从合并的委托中移除组件委托。
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!