Dictionary 通过ICollection 接口继承,但不实现所有成员

Dictionary Inherited through ICollection interface, but don't implement all the members

在我当前的实现中,我试图创建由 IDictionary<string, Object> 接口继承的自定义 class。

实施时,我必须实施以下属性

IsReadOnly { get; } part of  ICollection<KeyValuePair<TKey, TValue>> interface.

因此,在执行此操作时,我遇到了以下情况,

我在 Dictionary<TKey, TValue>(.NET 内置 class)class 中没有看到 IsReadOnly 属性,那么 属性 ReadOnly 的实现不存在于 Dictionary class 中,因为此 class 也通过 ICollection<KeyValuePair<TKey, TValue>> 接口继承。

我也有关于 CopyTo 方法的相同查询。

这只是我的概念性问题。

属性 Dictionary<TKey, TValue> 上实现的。你在你的实例上看不到它的原因是 how the member is implemented:

bool ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly {
    get { return false; }
}

member-name 前面的限定符表示explicit implementation。这意味着只有当 明确地 通过强制转换引用该类型时,您才能访问该成员:

var readOnly = ((ICollection<MyType>)myMap.IsReadOnly;