在当前的实现中,我试图创建由IDictionary<string, Object>
接口继承的自定义类。
在实施的同时,我必须实施以下属性
IsReadOnly { get; } part of ICollection<KeyValuePair<TKey, TValue>> interface.
因此,在执行此操作时,我遇到了以下情况,
我没有看到IsReadOnly
类(.NET内置类)中的Dictionary<TKey, TValue>
属性,然后ReadOnly
类中不存在Dictionary
类的属性实现如下:此类也通过ICollection<KeyValuePair<TKey, TValue>>
接口继承。
我也对CopyTo
方法有相同的查询。
这只是我的概念性问题。
答案 0 :(得分:1)
属性是在Dictionary<TKey, TValue>
上实现的。您在实例上看不到它的原因是how the member is implemented的方式:
bool ICollection<KeyValuePair<TKey,TValue>>.IsReadOnly {
get { return false; }
}
成员名称前面的限定符表示explicit implementation。这意味着您只能在显式通过强制转换引用该类型时访问该成员:
var readOnly = ((ICollection<MyType>)myMap.IsReadOnly;