почему нет интерфейса IImmutableCollection - PullRequest
0 голосов
/ 12 июля 2019

Есть ли причина, по которой отсутствует интерфейс IImmutableCollection?

ImmutableList<T> наследует IImmutableList<T>, то есть IImmutableList<T> Add(T value);

Таким же образом ImmutableDictionary<TKey, TValue> наследует IImmutableDictionary<TKey, TValue>, то есть IImmutableDictionary<TKey, TValue> Add(TKey key, TValue value);

Я ожидал, что IImmutableDictionary<TKey, TValue> будет иметь IImmutableDictionary<TKey, TValue> Add(KeyValuePair<TKey, TValue> item), а затем IImmutableList<T> и IImmutableDictionary<TKey, TValue> наследуют IImmutableCollection<T>, который будет иметь, например, IImmutableCollection<T> Add(T item)

Вместо ImmutableList<T> наследуется ICollection<T> с void Add(T item);, что не имеет смысла для неизменных коллекций.

Есть ли для этого какая-либо причина?

...