[quote=引用 2 楼 lizhi3186575 的回复:] 这涉及到泛型的可变性,可以使用out参数或in参数来实现转换,具体参考文章:http://www.cnblogs.com/zhili/archive/2012/11/12/GenericVari.html
List<A> 和 List<B> 是完全不相关的两个类型,A、B确定后该泛型就为封闭类型,为指定前是开放类型,除非你详细的知道A\B的内部结构。 也可以在泛型参数中指定参数是协变的,这就要求类型 A和B有一定的继承关系(类继承或接口继承)。
[quote=引用 8 楼 caozhy 的回复:] [quote=引用 2 楼 lizhi3186575 的回复:] 这涉及到泛型的可变性,可以使用out参数或in参数来实现转换,具体参考文章:http://www.cnblogs.com/zhili/archive/2012/11/12/GenericVari.html
这涉及到泛型的可变性,可以使用out参数或in参数来实现转换,具体参考文章:http://www.cnblogs.com/zhili/archive/2012/11/12/GenericVari.html
List<B> list = base.getlist().Select(x => x as B).ToList(); 不过从A转换到B需要自己重载显式转换运算符,反之不需要。
110,535
社区成员
642,577
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧