0

一个类可以派生自一个或多个接口。

如果多个接口具有具有相同签名的方法,则该类必须显式实现接口的此类成员。

到目前为止,根据我的经验,我从未遇到过必须从具有相同签名的方法的接口派生的情况。

.NET 框架或任何公开可用的库中是否有任何显式接口实现的示例?

4

2 回答 2

2

我认为最常见的情况是IEnumerableand IEnumerable<T>

两者都声明了方法GetEnumerator()

这就是为什么在实现时IEnumerable<T>你总是有两种GetEnumerator()方法来实现(IEnumerable<T>继承自IEnumerable):

public IEnumerator<T> GetEnumerator()  // From IEnumerable<T> interface
{
    // Code
}

IEnumerator IEnumerable.GetEnumerator()  // From IEnumerable interface
{
    // Code
}
于 2013-02-03T14:15:36.920 回答
2

Dictionary<Key, Value>显式实现ICollection<KeyValuePair<Key,Value>>. 实现泛型接口的类也很常见,例如IEnumerable<T>显式实现非泛型对应项。

于 2013-02-03T14:17:06.747 回答