Re[2]: Идея для новой версии C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.25 20:24
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Мы используем

BE>
BE> null!
BE>


Это понятно. Но гордиться тем, что ходишь на костылях — так себе.

BE>В принципе этого достаточно.


Этого ни разу не достаточно. null! тупо отключает проверку, а не позволяет решить проблему.

BE>Блок init не будет путать разработчиков?


Чем? Семантика вполне себе понятная. Мы просто делаем блок в рамках которого можно нарушать правила, а за пределами которого они будут проверены.

Получается что-то типа внешнего конструктора гарантирующего, что за его пределами все ссылки установлены и их нулабельность проверена и не содержит ошибки.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.