C# 协变out 、逆变 in

需求:泛型使用多态性

备注:协变逆变只能修饰 接口和委托

简单理解:

1.使用 in 修饰后为逆变,只能用作形参使用 ,参考 public delegate void Action<in T>(T obj);

2.使用 out 修饰后为协变,只能用于返回值,参考 public delegate TResult Func<out TResult>();

其他资料链接:http://www.cnblogs.com/LoveJenny/archive/2012/03/13/2392747.html

原文地址:https://www.cnblogs.com/gaobing/p/5316081.html