Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, artelk, Вы писали:
A>>Имхо, было бы полезно, если IList наследовался от IReadOnlyList. Это было бы уточнение типа или расширение модуля?
I>Разумеется расширение, потому как был Readonly, а стал read-write. I>Сам подумай — некий класс ждет, что его данные не могут меняться. Но у тебя то на самом деле IList, то есть, можно модифицировать контейнер, — опаньки, взял, отредактировал, и всё сломал. I>Нарушается принцип замещения Лисков.
Неверно. IReadOnlyList не про иммутабельность. Класс List, например, реализует этот интерфейс, хотя его в иммутабельности трудно заподозрить.