.NET框架中的显式接口实现示例

时间:2013-02-03 14:14:19

标签: c# .net

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

两者都声明方法GetEnumerator()

这就是为什么在实施IEnumerable<T>时,您始终需要2个GetEnumerator()方法来实现(IEnumerable<T>继承自IEnumerable):

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

IEnumerator IEnumerable.GetEnumerator()  // From IEnumerable interface
{
    // Code
}

答案 1 :(得分:2)

Dictionary<Key, Value>明确实施ICollection<KeyValuePair<Key,Value>>。实现诸如IEnumerable<T>之类的通用接口的类也明确地实现非泛型对应物。