ISet如何有两个Add(T项)方法,这些方法仅因返回类型而异?

Aar*_*ide 8 c# collections

我知道我不能重载返回类型(我想我知道这一点).

void F()
{
}

bool F()
{
   return true;
}
Run Code Online (Sandbox Code Playgroud)

..产生错误 already defines a member called 'F' with the same parameter types

但是,我正在从MSDN上阅读ISet文档,我想我看到两个Add方法只是因返回类型而异.

这里发生了什么?

Ree*_*sey 4

第一个“Add”方法实际上是ICollection<T>.Add,它是继承的。

当在类中实现这一点时,至少Add需要显式实现这两个方法之一,即:

void ICollection<T>.Add(T item)
{
   // ... Implement here
Run Code Online (Sandbox Code Playgroud)