我试图了解接口的继承是如何工作的。当一个接口继承另一个接口但有一个具有相同签名的方法时,编译器会发出警告,指出基成员被隐藏(这似乎合乎逻辑)。
但是,当我稍后在一个类中实现子接口时,我必须实现具有相同签名的父接口和子接口方法,这让我感到困惑......我认为当父成员隐藏时我需要实现只有子接口方法?
(我在查看IEnumerable
和IEnumerable<T>
界面时遇到了这个问题)
interface IMyBase
{
int DoSomething();
}
interface IMyDerived:IMyBase
{
int DoSomething();
}
class myClass : IMyDerived
{
int IMyDerived.DoSomething()
{
throw new NotImplementedException();
}
int IMyBase.DoSomething()
{
throw new NotImplementedException();
}
}