170 похожих чатов

Спасибо. Так делал, но просто через конструктор. Все же не

понимаю зачем тогда нужен такой синтаксис с

new Model() { someProperty = "Foo" }

если компилятор не ругается, если я в курли что-то упущу, это же нетипобезопасно, почему так?

9 ответов

17 просмотров

Хочешь делать типобезопасно - делай типобезопасно

Потому что это сокращённый синтаксис к var o = new Class(); o.SomeProp = 123; Компилятор тут тоже не будет жужжать если что-то упустить ¯\_ (ツ) _/¯

Alex 🗽👇- Автор вопроса
SomebodyOdd
Потому что это сокращённый синтаксис к var o = ne...

Хм, вот как. Ну логично. Тогда почему можно создать пустой объект, если внутри класса есть проперти, которые никак явно не заполняются. Скорей всего это базовое правила линтера, что бы иметь всегда конструктор для модели, я его просто еще не накатил. Все равно ощущается как дыра. Может просто язык не такой модный, как Swift, Rust и прочие, где прямо есть Optional тип и все вокруг него крутится, что бы нигде никакой налл не проскочил. В общем, исторически сложилось или что-то в этом роде.

Alex 🗽👇
Хм, вот как. Ну логично. Тогда почему можно создат...

Если у класса есть доступный пустой конструктор - значит можно его вызвать (duh). Если его не будет, то и без параметров такой трюк тоже не сработает.

Alex 🗽👇
Хм, вот как. Ну логично. Тогда почему можно создат...

Так уж исторически сложилось. Но последние версии упорно пытаются это исправить: nullable reference types, init accessor. Финальным шагом планирует required keyword завести https://github.com/dotnet/csharplang/issues/3630 Глядишь в будущих версиях проблему полностью решат.

Alex 🗽👇- Автор вопроса
SomebodyOdd
Потому что это сокращённый синтаксис к var o = ne...

Я уже понял, что сахар, как господин тут написал

Alex 🗽👇- Автор вопроса
SightRo
Так уж исторически сложилось. Но последние версии ...

Понятно, язык не новый, тогда не парились таким, как и вообще особо нигде. Хотел просто удостоверится в версии своей.

Потому что C# как обычно все украл у VB, где испокон веков был With statement )

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта