на Unity и часто вижу в коде, например, вот такую конструкцию:
public bool isMove { get; private set; }
Я так понимаю здесь создаётся булевая переменная isMove.
Далее происходит работа с этой переменной:
isMove = true;
if (isMove) { .. }
На первый взгляд isMove кажется обычной логической переменной. Почему же просто не создать её вот таким образом:
public bool isMove;
Зачем использовать эту конструкцию - public bool isMove { get; private set; }?
Кто-нибудь объясните пожалуйста в двух словах или скажите как "это" называется(где можно почитать об "этом") ?
Это называется авто-свойство (auto-property) и оно равноценно такой записи: private bool _isMove; public bool isMove { get => _isMove; private set => _isMove = value; } Зачем использовать? Затем чтобы другие классы могли только прочесть, но не изменить твою переменную
Точно, теперь всё ясно. Спасибо большое, что уделил время🙏
Обсуждают сегодня