惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - 帝之晓

Metabase里的 linked filters 使用 EntityFramework 6.0 修改一个已经存在的对象 这个功能是怎么实现的 英语英语。我想要把你学的很牛逼。 PS快捷键大全 附加数据库错误 5102 如何在三个月内获得三年的工作经验(转) sql2005还原数据库 Nettiers的GridViewSearchPanel - 帝之晓 - 博客园 企业库的日志使用 常用的40个网站制作技巧(收藏整理)转 - 帝之晓 - 博客园 asp.net里的基础概念 BlogEngine数据库结构 XmlSerializer 序列化和反序列化 决定好好研究一些开源的系统 TimeTracker研究 .nettiers里的ServiceLayer和DomainModel 共享软件的十大破解工具 免费的css模板下载
符合.net准则的事件
帝之晓 · 2009-03-23 · via 博客园 - 帝之晓

转载

委托:

委托和事件这两个概念是完全配合的。委托仅仅是函数指针,那就是说,它能够引用函数,通过传递地址的机制完成。委托是一个类,当你对它实例化时,要提供一个引用函数,将其作为它构造函数的参数。

每一个委托都有自己的签名,例如:Delegate int SomeDelegate(string s, bool b);是一个委托申明,在这里,提及的签名,就是说SomeDelegate 这个委托 有 string 和 bool 类型的形参,返回一个int 类型。

上面提及的:当你对委托实例化时,要提供一个引用函数,将其作为它构造函数的参数。这里要注意了:被引用的这个函数必须和委托有相同的签名。

看下面的函数:

private int SomeFunction(string str, bool bln){...}

你可以把这个函数传给SomeDelegate的构造函数,因为他们有相似的签名(in other words,他们都有相同的形参类型和个数,并且返回相同的数据类型)。

SomeDelegate sd = new SomeDelegate(SomeFunction);

sd 引用了 SomeFunction,也就是说,SomeFunction已被sd所登记注册,如果你调用 sd,SomeFunction 这个函数也会被调用,记住:我所说 SomeFunction的含义,后面,我们会用到。

===================

链接: ms-help://MS.MSDNQTR.v90.chs/dv_csref/html/9310ae16-8627-44a2-b08c-05e5976202b1.htm