Предположим, у меня есть класс 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, если это что-то меняет.