Наличие этого кода...
var b = new ReadOnlyCollection<int>(new[] { 2, 4, 2, 2 });
b[2] = 3;
Я получаю ошибку компиляции во второй строке. Я ожидал бы ошибки во время выполнения, поскольку ReadOnlyCollection<T>
реализует IList<T>
, а this[T]
- сеттер в интерфейсе IList<T>
.
Я попытался реплицировать функциональность ReadOnlyCollection, но удаление setter из this[T]
является ошибкой компиляции.