前言
前一篇文章介绍了事件,在事件中说到事件也是一种特殊的委托。那么这篇文章咱一起学习下委托。
什么是委托?
委托可以认为是持有一个或多个方法的对象。当委托被执行时,它持有的方法也会被执行。
委托不是对象,是一种类型。
在使用时,委托类型是需要声明委托变量的。
委托和类一样,是一种用户自定义的类型,但类表示的是数据和方法的集合,而委托则持有一个或多个方法,以及一系列预定义操作。
步骤:
1、声明委托类型。
2、使用该委托类型声明一个委托变量。
3、创建委托类的对象,把它赋值给委托变量。
4、可为委托对象增加其它方法。(增加的方法必须与委托类型有相同的签名和返回类型)
5、在程序中可像调用方法一样调用委托。(调用委托时,其包含的所有方法都会被执行)
一般情况往委托中添加方法,其实是往委托的方法列表中添加,它是一个包含有序方法列表的对象,这些方法具有相同的签名和返回类型。
- 方法的列表称为调用列表
- 委托保存的方法可以来自任何类或结构。(方法的满足条件:委托的返回类型、委托的签名)
- 调用列表中的方法可以是实例方法也可以是静态方法。
- 在调用委托的时候,会执行其调用列表中的所有方法。
委托该如何使用
1、定义委托
delegate void MyDel(int x);
2、声明并创建委托
//声明委托
MyDel testOne;
//给委托赋值
testOne = new MyDel(Test);
3、调用委托
testOne(1);
委托方法(返回值和参数必须与定义的委托类型一样)
static void Test(int value)
{
Console.WriteLine("Test接收的值:"+value);
}
那么委托这个概念在C#中解决什么问题了,为什么会提出委托这种编程技巧。
我们在明天的文章中带大家一起了解。
寄语
人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。
原创不易,给个关注。
我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发 谢谢。