次の3つのインターフェイスについて考えてみます。
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の両方をどのように実装できますか?