具有这三个类别:
class BaseClass
{
}
class ClassA : BaseClass
{
}
class ClassB : BaseClass
{
}
BaseClass c = true ? new ClassA() : new ClassB();
为什么会这样由于没有隐式转换,所以无法确定条件表达式的类型 给出了ClassA
和ClassB
都继承自{{1} }?
像这样BaseClass
铸造右侧可以消除错误。
PS:我发现了有关(BaseClass)new ClassB()
或int? = int : null
的相关文章。对于他们为什么抛出该错误,这些对我来说很有意义。但我不明白上面为什么会发生这种情况。