Re[7]: Эквивалентность record-ов
От: _FRED_ Черногория
Дата: 19.10.23 17:03
Оценка:
Здравствуйте, VladD2, Вы писали:

_FR>>Мне было бы странно вдруг получить, что экземпляр `BinaryPlusExpression` "эквивалентен" экземпляру `BinaryMinusExpression`. Не смотря на то, что данные там и там одинаковые, поведение (результат выполнения виртуальных методов) может быть разным.


VD>Так это не структурная типизация, а номинативная. В структурной все определяется значениями, а не типами. Введи поле с символом (+/-) и все встанет на свои места.


Да, я понимаю. Говорю о том, что у рекордов такая типизация смотрелась бы странно для меня. Как минимум потому, что рекорды (как и другие пользовательские типы) помимо собственно данных содержат и определённое пользователем поведение, которое имеет право быть разным в разных типах и считать такие объекты одинаковыми "из коробки" было бы неожиданным.

Например в туплах, которые пользователем не расширяются и содержат только данные, это было бы (и есть в дотнете и шарпе) норм.

Кажется, ни что не мешает выписать коллекции с нужным алгоритмом сравнения элементов и использовать в рекордах и туплах их и тогда будет "как нужно" вроде какой спец. поддержки от компилятора тут не требуется?
Help will always be given at Hogwarts to those who ask for it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.