它看起来像一个奇怪的设计选择,因为 aDictionary
和 anImmutableDictionary
在写入方面完全不同。(阅读方面,他们都实现了IReadOnlyDictionary
,这很好*)
实际上,类IDictionary<TKey, TValue>.Add()
中的当前实现ImmutableDictionary
会抛出一个NewSupportedException
.
那么,这样做的意义何在?例如,如果一个方法返回一个IDictionary
实际上是一个 的方法ImmutableDictionary
,那么在其中添加元素时就会遇到一些麻烦。
*接口名称除外,有待商榷