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

Почему нельзя объявлять var переменные как поля класса?

18 ответов

14 просмотров

Потому что шарп строготипизированный язык

а что ты предлагаешь взамен? public class Test { private var _field; } угадай какой тип я загадал

var это синтаксический сахар для вывода статического типа компилятором Если ты определяешь поле таким образом то компилятор не может догадаться какой там на самом деле тип под капотом

можешь generic тип сделать поле public class Person<T> { public T Name {get;set;} } в таком случае каждый раз когда ты будешь создавать класс ты должен указать тип поля

Egor Gusarenko
var это синтаксический сахар для вывода статическо...

Var _field = 3d; а что здесь мешает компилятору вывести тип.?

AN
Var _field = 3d; а что здесь мешает компилятору вы...

Технически ничего, но мы уже в ограничения языка тыкаемся

Очень плохо для читаемости будет

Антон 😇
Потому что шарп строготипизированный язык

И чо, там вывод типов в компайл тайме

bookuxa- Автор вопроса
Viacheslav
а что ты предлагаешь взамен? public class Test { p...

Ну инициализировать значением надо и вне класса сразу же

bookuxa
Ну инициализировать значением надо и вне класса ср...

так если оно приватное, то как ты его инициализируешь вне класса? выше тебе подсказали использовать дженерики

Viacheslav
а что ты предлагаешь взамен? public class Test { p...

Речь не про это, а про public class Test { private var _field = new MyClass(); }

Phantom
Речь не про это, а про public class Test { privat...

это всего-лишь твое предположение в вопросе ничего не было сказано про инициализацию

Phantom
Иначе смысла нет

тогда возникает вопрос, почему нельзя использовать устоявшиеся конструкции языка? твой вариант(... = new()) тоже норм

Phantom
Какие устоявшиеся конструкции языка?

private T _tName; private string _name; private <some_type> _fieldName;

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта