【发布时间】:2013-01-22 17:42:15
【问题描述】:
场景:
class A { }
class B : A { }
class C<T> where T: A { }
问题
当 B 是 A 的子类时,为什么不能 C<A> = C<B>?
它抛出“无法隐式转换”错误
谢谢
--更新--
我可以为C<A> 创建一个可以识别C<B> 的隐式方法吗?
【问题讨论】:
-
请重新阅读您的问题。 "Why cant C = C" 是什么意思?提供一个编译代码 sn-p 使我们能够重现您的问题。
-
C = C 是什么意思?
-
Bit of a long read but your answer is in here 这与 C# 不支持泛型的协变有关。
-
您还可以通过here找到一些信息
标签: c# generics types parameters implicit-conversion