需求:泛型使用多态性
备注:协变逆变只能修饰 接口和委托
简单理解:
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