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

本文关键字:显式接口实现 框架 NET | 更新日期: 2023-09-27 17:57:08

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

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

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

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

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

字典

<键,值>显式实现ICollection<KeyValuePair<Key,Value>>。实现泛型接口(如 IEnumerable<T>)的类显式实现非泛型接口也很常见。

我认为最常见的情况是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
}