假设我有一个C继承自 2 个接口(I1和I2)的类。我还有两个版本的方法 ( DoStuff),每个版本都将其中一个接口作为参数。如果我打电话DoStuff(C),哪一个会被打电话?
interface I1 { ... }
interface I2 { ... }
class C : I1, I2 { ... }
int DoStuff(I1 target) { ... }
int DoStuff(I2 target) { ... }
//What gets called here?
C target = new C()
DoStuff(target)
如果I2派生自I1,我认为它相对简单 -I2版本被调用。我对接口独立的情况感兴趣。
假设我无法编辑C,I1或I2. 如果这有什么不同的话,还有 .NET 2.0。