c#委托初探

简介:
委托是对函数的封装,可以当做给方法的特征指定一个名称。它本质上就是变相的类型安全的指针。
假想场景:01国际计算机语言大会上,各种计算机语言汇聚一堂,共同探讨计算机语言的发展趋势和优势。由于语言众多,主办方pc和mac决定给每位参会者10分钟发言机会。Code is cheap。看看它们都怎么说:
类图:

代码如下:
ContractedBlock.gif Code

委托总结:
(1)与命名方法关联时委托在语法上总是带有一个参数的构造函数,这个参数就是委托引用的方法,这个方法必须匹配最初定义委托时的签名,即方法返回值类型和参数序列必须都相匹配。
(2)通过将委托与命名方法(静态或实例)或匿名方法关联,可以实例化委托。委托的实例仍称为委托。
(3)使用委托即通过委托的实例调用委托引用的方法,委托的实例名后面的括号包含的参数与委托引用的方法参数匹配。
(4)委托可以包含多个方法,这种委托称为多播委托。多播委托只能引用返回值为void的方法。运算符有++=--=,用来增加方法和删除方法。

(5)委托使用三步曲:定义->关联->调用

ContractedBlock.gif Code
最后来一个带参数的委托调用:
ContractedBlock.gif Code





本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2009/03/22/1412484.html,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
C#
C#中的委托
C#中的委托
20 0
|
5月前
|
存储 开发框架 .NET
c#委托详解
委托是一种能够将方法作为参数传递、存储方法并且调用方法的类型,它可以让我们写出更加灵活和可扩展的代码。委托通常用于回调 (Callback) 机制,比如在事件处理、异步编程、LINQ 查询等场景中常常会使用委托。它可以将方法作为参数传递给其他方法,从而在需要的时候执行该方法。
27 2
|
C# C++
C#-委托
看到项目有使用委托,一直都搞不明白是怎么回事,看了好几遍才略懂一二,关于c#接触时间时间短,目前工作有用到c#进行开发,实际工作中写的更多的是业务代码,一些技巧性的东西,还是得下去找时间研究一下,不然还是一知半解,不知所云……
77 0
|
存储 C# C++
C#——委托
C#——委托
76 1
|
C# C++
C#委托11111(上)
C#委托11111
100 0