List<T>
реализует интерфейс IReadOnlyCollection<T>
и предоставляет метод AsReadOnly()
, который возвращает ReadOnlyCollection<T>
(который, в свою очередь, реализует IReadOnlyCollection<T>
).
Каково использование/причина для AsReadyOnly()
? Его существование пахнет одним или двумя краевыми случаями, когда просто вернуть список как IReadOnlyCollection<T>
просто недостаточно.
Сначала, хотя это может быть связано с тем, чтобы избежать извлечения стоимости, но похоже, что вы можете сделать это с помощью ReadOnlyCollection<T>
Items
accessor.
BTW. Документация для типа ReadOnlyCollection<T>
читает
Предоставляет базовый класс для общей коллекции только для чтения.
который в моей голове конфликтует с конструктором, описанным как
Инициализирует новый экземпляр класса (...), который является оболочкой только для чтения вокруг указанного списка.
Update:
Я не видел, что ReadOnlyCollection<T>
Items
защищен.