以下代码片段无法编译.出现以下错误:
无法将类型'Container <ChildClass>'隐式转换为'Container <BaseClass>'
class BaseClass {}
class ChildClass : BaseClass {}
class Container<T> where T : BaseClass {}
class Program {
static void Main() {
// why doesn't this work?
Container<BaseClass> obj = new Container<ChildClass>();
}
}
Run Code Online (Sandbox Code Playgroud)
这是设计的吗?如果是,那是什么原因?