Peter.Y的技术博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年1月20日

摘要: 最近看Effective C#,看到委托(delegate)和事件(event)这部分,没看懂,于是深入了解下,下面简单记录一些个人理解。首先来看委托,功能上来说其实就是个函数指针(原谅我既有的C++思维),只不过它提供了类型安全,可以支持各种方法(包括对象的成员方法,会自动传递对象引用本身,这点函数指针其实很容易模拟,只不过这里强制化了),以及运行时的安全性(即不会因为没有指向而报错)。这看起来像是一个封装的更加好的安全版的函数指针。另外,委托还支持多播,即一个委托可以挂接多个函数,当使用委托发起调用时,可以依次调用每个函数。从概念上说,委托是一种特殊的机制,在关键词上和class/stru 阅读全文
posted @ 2011-01-20 21:35 Peter.Y 阅读(459) 评论(0) 推荐(0) 编辑