Re: В чем смысл интерфейса?
От: karbofos42 Россия  
Дата: 10.10.23 05:06
Оценка: 1 (1)
Здравствуйте, Разраб, Вы писали:

Р>В чем смысл скрывать реализацию таким образом? Ведь пользователь легко получит лист при желании?


Обычно авторы кода понимают что пишут и зачем.
Если не нужно скрывать реализацию, то и пиши List, а не ICollection.
Я так делаю, чтобы избавиться от лишних копирований коллекций, тем более, что тут у свойства setter имеется.
Бывает, что данные собираешь в HashSet какой-нибудь, который внезапно тоже ICollection.
Либо можно его напрямую передать и всё будет работать, либо вызывай метод ToList(), перегоняй данные в новый объект и уже с ним работай дальше.
У меня тут больше вопрос к тому, что через setter можно в свойство записать null и это не контролируется.
Либо это допустимое значение и непонятно зачем инициализировать пустой коллекцией, а не оставить null.
Либо null — некорректное значение и так легко можно всё поломать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.