摘要:
从本篇文章中,我们将从代码层面知道委托和事件的差异和用处,并且我们不会用猫和老鼠之类奇怪的比喻来混淆大家。首先,我们知道委托和事件都可以用来调用跟自己方法签名一样的方法。容易混淆大家的地方大多在于这两者之间的区别。从我们使用委托delegate和事件event上的主要有两大区别(如表1所示)。 表1... 阅读全文
摘要:
-事件是一种特殊的委托,或者说是受限制的委托,是委托一种特殊应用,只能施加+=,-=操作符。二者本质上是一个东西。-event ActionHandler Tick; // 编译成创建一个私有的委托示例, 和施加在其上的add, remove方法.-event只允许用add, remove方法来操作... 阅读全文
摘要:
CLR环境中给我们内置了几个常用委托Action、Action、Func、Predicate,一般我们要用到委托的时候,尽量不要自己再定义一个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范。一、ActionAction封装的方法没有参数也没有返回值,声明原型为:1 publi... 阅读全文
摘要:
msdn解释如下:“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。解释的很正确,大致就是这样,不过不够直白。直白的理解:“协变”->”和谐的变”->”很自然的变化”->string->object :协变。“逆变”->”逆常的变”->”不正... 阅读全文