C#泛型中的抗变和协变

在.net4之前,泛型接口是不变的。.net4通过协变和抗变为泛型接口和泛型委托添加了一个重要的扩展。

1、协变:如果泛型类型用out关键字标注,泛型接口就是协变的。这也意味着返回类型只能是T。

 实例:

View Code

2、抗变:如果泛型类型用in关键字,泛型接口就是抗变得。这样,接口的只能把泛型类型T用作方法的输入。

 实例:

View Code

 

posted @ 2020-07-19 16:03  Linybo2008  阅读(205)  评论(0编辑  收藏  举报