首页 新闻 搜索 专区 学院

泛型集合中对继承类的转换

1
悬赏园豆:5 [已解决问题] 解决于 2012-04-17 16:54

http://www.cnblogs.com/jinzhao/archive/2012/02/07/2341284.html

虽然问题已经解决了但是文中Error2的原因还是没想明白,求解答。

today4king的主页 today4king | 老鸟四级 | 园豆:3267
提问于:2012-02-07 12:07
< >
分享
最佳答案
0

你问:List<B>为什么不能显示转换为List<A>,那我得先问:为什么你认为List<B>能显示转化为List<A>?C#有它自己的规则,当你发现XXX不行的时候,第一反应不应该是“为什么XXX不行啊”,而是“语言有没有说过XXX是行的”,如果没有说过,那就是不行。

收获园豆:5
水牛刀刀 | 大侠五级 |园豆:6350 | 2012-02-07 12:32

有病

today4king | 园豆:3267 (老鸟四级) | 2012-02-07 12:35

@今昭: 呵呵。希望有一天你能理解我在说什么。

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-02-07 12:38

@水牛刀刀: 抱歉话说过了,不过也希望你好好看 那片文章。

today4king | 园豆:3267 (老鸟四级) | 2012-02-07 19:48

@今昭: 我显然看了。

水牛刀刀 | 园豆:6350 (大侠五级) | 2012-02-08 10:22
其他回答(1)
0

泛型在编译生成的时候,会发List<AClass>这个类型编译成System.Collections.Generic.List`1[CNBlogs.Zzk.Tests.AClass],而List<BClass>编译成System.Collections.Generic.List`1[CNBlogs.Zzk.Tests.BClass],但是编译器不认为这俩类型有啥继承实现的关系~

油纸伞 | 园豆:37 (初学一级) | 2012-09-10 17:20

很久以前的问题了。

在协变种支持这种转换:IEnumrable<out T>

支持(0) 反对(0) today4king | 园豆:3267 (老鸟四级) | 2012-09-12 10:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册