Войти
UnityФорумОбщее

Зачем делают так: [SerializeField] private Button button;

#0
13:03, 8 ноя 2022

Здравствуйте


Зачем делают так: [SerializeField] private Button button;
Почему не сделать просто public Button button;

Раньше я не сталкивался в примерах с такой реализацией, а теперь на каждом шагу.
Это какие-то рекомендации от юнити или просто мода такая?

#1
(Правка: 13:11) 13:10, 8 ноя 2022

Не делай. Будь немодным парнем/девушкой/etc.

Делают чтобы явно разграничить доступные из вне поля класса и недоступные. Ну и меньше мусора в публичном API класса.

#2
8:25, 9 ноя 2022

[field: SerializeField] public int foo { get; private set; }
Сейчас уже и вот так делают

#3
10:07, 9 ноя 2022

zeffyros
Так на порядок лучше.

#4
(Правка: 17:41) 17:41, 9 ноя 2022

возможность редактировать поля через форму, но невозможность через код - такая себе "приватность". в юнити явно не хватает удобного способа задавать сериализуемые поля-стейт, а не только поля-начальный_стейт.

UnityФорумОбщее