Есть ли причина, по которой отсутствует интерфейс 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);
, что не имеет смысла для неизменных коллекций.
Есть ли для этого какая-либо причина?