Re[59]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.09.21 09:36
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S>Кстати нет наследования структур. Сейчас с source generator упрощается расширение классов.

Это палка о двух концах.
Отсутствие наследования означает, что код можно делать очень эффективным — например, везде, где мы используем структуру хоть бы и по ссылке, нам известен точный тип.
Помимо раскладки полей (которую при наследовании можно сделать совместимой с предком), это позволяет не бегать по VMT при вызове методов.
Частным случаем является многократно упомянутый в этой же дискуссии трюк с параметризацией генерика структурным типом, ограниченным интерфейсом.
Таким образом, имеем полиморфизм без штрафов к производительности.
S>Хотя всегда можно сделать структуру с полем наследуемой структуры и нагенерить свойства и методы над наследуемой структурой с помощью того же source generator
Так сделать можно, но нельзя будет передать ref Descendant в параметр, где ожидается ref Parent.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.