标签: c# inheritance polymorphism
假设我们有1个类,它实现了Interface1和Interface2(称为I1和I2)
I1
I2
所以我们有。
实施I1和I2
现在假设我们有一个包含2个构造函数的类B:
B
Public B(I1 Argument); public B(I2 Argument);
如果我们这样做:
A NewVarA = new A(); B NewVar = new B(A);
将调用哪个构造函数?
将以何种顺序评估对象的类型?
答案 0 :(得分:0)
行为没有很好地定义,这就是为什么C#编译器会触发编译错误,他会认为该调用是不明确的
Take a look here
我很确定大多数编译器会抓住它,但无论如何它不是推荐的做法