它看起来像一个奇怪的设计选择,因为Dictionary
和ImmutableDictionary
在写作方面完全不同。 (阅读方面,他们都实现IReadOnlyDictionary
,这很好*)
事实上,IDictionary<TKey, TValue>.Add()
班级中ImmutableDictionary
的当前实施会引发NewSupportedException
。
那么,这样做有什么意义呢?如果方法返回的IDictionary
实际上是ImmutableDictionary
,那么在添加元素时会遇到一些麻烦。例如。
*除界面名称外,还有争议