Re[6]: [ООП] Наследование интерфейсов друг от друга
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 01.02.24 13:55
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Но не очень понятно, чем вас спасает IEnumerable — на все случаи generic-интерфейсов не напасёшься их нетипизированных аналогов.

S>Кроме того, скорее всего, ваш код работает некорректно.
S>Что будет, если я реализую одновременно IEnumerable<string> и IEnumerable<int>?
S>Вменяемая реализация позволит пользователю явно выбрать, по кому из них итерироваться. IEnumerable — это потеря информации.

Если ты реализуешь IEnumerable<string> и IEnumerable<int> то и определяешь IEnumerable.
И IEnumerable должен так же работать как и для конкретного типа. Иначе это некорректная реализация.

А если тип известен, то просто не нужно приводить к нужному типу, а для структур нет боксинга.
Но вот кода тип объекта заранее не известен, то тут спасают не дженерики.
И таких вещей куча и маленькая тележка. В тех е универсальных сериализаторах, десериализаторах.
С развитой иерархией объектов у которых есть свойство типа object итд.
и солнце б утром не вставало, когда бы не было меня
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.