标签:style blog http color io os 使用 ar for
【泛型中的协变和逆变】
协变指能够使用比原始指定的派生类型的派生程度更大的类型,逆变指能够使用比原始指定的派生类型的派生程度更小的类型。
协变与逆变的本质就是参数的替换。逻辑不变,只进行参数的替换,以实现更高程序的复用。
通常,协变类型参数可用作委托的返回类型,而逆变类型参数可用作参数类型。 对于接口,协变类型参数可用作接口的方法的返回类型,而逆变类型参数可用作接口的方法的参数类型。
协变是out,逆变是in。
协变的例子:
逆变的例子,When the delegate of type Action<Base> is invoked as if it were a delegate of type Action<Derived>, its argument must be of type Derived:
【注意要点】
在 .NET Framework 4中,Variant 类型参数仅限于泛型接口和泛型委托类型。
参考:http://msdn.microsoft.com/zh-cn/library/dd799517(v=vs.110).aspx#DelegateVariantTypeParameters
标签:style blog http color io os 使用 ar for
原文地址:http://www.cnblogs.com/tekkaman/p/4019774.html