由于没有隐式转换,因此无法确定条件表达式的类型

时间:2019-06-03 11:16:29

标签: c# conditional-operator

具有这三个类别:

class BaseClass
{

}

class ClassA : BaseClass
{

}

class ClassB : BaseClass
{

}

BaseClass c = true ? new ClassA() : new ClassB();为什么会这样由于没有隐式转换,所以无法确定条件表达式的类型 给出了ClassAClassB都继承自{{1} }?

像这样BaseClass铸造右侧可以消除错误。

PS:我发现了有关(BaseClass)new ClassB()int? = int : null的相关文章。对于他们为什么抛出该错误,这些对我来说很有意义。但我不明白上面为什么会发生这种情况。

0 个答案:

没有答案