我无法理解为什么我尝试转换为泛型基类不工作。Casting to Generic基类失败
代码的基本结构如下。
interface ICmd
{
}
class Context
{
}
class Cmd<TContext> : ICmd
where TContext : Context
{
}
class MyContext : Context
{
}
class MyCmd : Cmd<MyContext>
{
}
所以现在我有ICMD的实例,并希望将其转换为Cmd的如下
var base = cmd as Cmd<Context>
基地执行这条线后始终为空。
更改为仅针对上下文特定的转换,它工作。
var base = cmd as Cmd<MyContext> -- this works ???
希望我已经提供了足够的信息,这是一个协变\逆变问题吗?
谢谢