.net 4.5中的ReadOnlyDictionary如何不公开.Add方法? (不是为什么)

时间:2013-10-03 13:00:59

标签: .net .net-4.5

我很好奇ReadOnlyDictionary如何实现IDictionaryICollection,但它没有公开方法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

1 个答案:

答案 0 :(得分:3)

ReadOnlyDictionary explicitly implements添加方法(通用和非通用形式)。像这样:

void IDictionary.Add(Object key, Object value)

如果将其强制转换为IDictionary,则可以调用它,但会抛出NotSupportedException according to MSDN