以下代码尝试根据A
变量是B
还是condition
实例化类true
或类false
的新实例。
类A
和类B
都从接口I
继承。
static void Main(string[] args)
{
var condition = true;
I i = condition ? new A() : new B();
}
interface I { }
class A : I { }
class B : I { }
错误CS0173:无法确定条件表达式的类型,因为在'Program.A'和'Program.B'之间没有隐式转换
new A()
或new B()
强制转换为I
(例如(I)new A()
)可以解决该错误?