我很好奇ReadOnlyDictionary
如何实现IDictionary
和ICollection
,但它没有公开方法Add(TKey key, TValue value)
ReadOnlyDictionary<object, object> dictionary;
dictionary.Add(null, null); // compilation error
IDictionary<object,object> i;
i = dictionary;
i.Add(null, null);// no compilation error
答案 0 :(得分:3)
ReadOnlyDictionary
explicitly implements添加方法(通用和非通用形式)。像这样:
void IDictionary.Add(Object key, Object value)
如果将其强制转换为IDictionary
,则可以调用它,但会抛出NotSupportedException according to MSDN。