C# 协变逆变

时间:2020-05-14 11:12:50   收藏:0   阅读:49

协变

  1.定义接口时泛型参数T用out修饰,声明泛型接口,实现指向泛型参数的子类

  2.泛型参数T只能当方法的返回值,不允许当方法入参,否则就会出现实现时指向了子类1,但是方法入参却使用了子类2,虽然都继承自父类,但是却没有使用明确指向的子类1

 

逆变

  1.定义接口时泛型参数T用in修饰,声明泛型接口,实现指向泛型参数的父类

  2.泛型参数T只能当方法的入参,不允许当方法的返回值,如果允许的话那么就会出现返回参数的话可以是任意子类,而实际要求的泛型参数是父类

原文:https://www.cnblogs.com/zyngdbwh/p/12887234.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!