3

我很好奇它怎么可能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
4

1 回答 1

3

ReadOnlyDictionary 显式实现Add 方法(通用和非通用形式)。像这样的东西:

void IDictionary.Add(Object key, Object value)

如果将它转换为 ,则可以调用它,但根据 MSDNIDictionary,它会抛出 NotSupportedException 。

于 2013-10-03T13:05:51.517 回答