Consider the following three interfaces:
interface IBaseInterface
{
event EventHandler SomeEvent;
}
interface IInterface1 : IBaseInterface
{
...
}
interface IInterface2 : IBaseInterface
{
...
}
现在考虑以下实现了IInterface1和IInterface2的类:
class Foo : IInterface1, IInterface2
{
event EventHandler IInterface1.SomeEvent
{
add { ... }
remove { ... }
}
event EventHandler IInterface2.SomeEvent
{
add { ... }
remove { ... }
}
}
这会导致错误,因为SomeEvent不是IInterface1或IInterface2的一部分,而是IBaseInterface的一部分。
那么,类Foo如何同时实现IInterface1和IInterface2呢?