摘要: 在编程语言中,“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。“逆变”则是指能够使用派生程度更小的类型。在 .NET Framework 4 和 Visual Studio 2010 中,C# 和 Visual Basic 都支持在泛型接口和委托中使用协变和逆变,并允许隐式转换泛型类型参数。如果泛型接口或委托的泛型参数声明为协变或逆变,则将该泛型接口或委托称为“变体”。C# 和 Visual Basic 都允许您创建自己的变体接口和委托。在匹配方法签名和委托 阅读全文
posted @ 2011-02-11 16:50 yellowsail 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 1.委托委托类型的声明与方法签名相似,有一个返回值和任意数目任意类型的参数:delegate是一种可用于封装命名或匿名方法的引用类型。委托类似于 C++ 中的函数指针;但是,委托是类型安全和可靠的。委托是事件的基础。通过将委托与命名方法或匿名方法关联,可以实例化委托。有关更多信息,请参见命名方法和匿名方法。必须使用具有兼容返回类型和输入参数的方法或 lambda 表达式实例化委托。有关方法签名中允许的差异程度的更多信息,请参见委托中的变体(C# 和 Visual Basic)。为了与匿名方法一起使用,委托和与之关联的代码必须一起声明示例:定义引发事件的类AlarmEvent(this, e); 阅读全文
posted @ 2011-02-11 14:53 yellowsail 阅读(273) 评论(0) 推荐(0) 编辑