Задать вопрос
@Noortvel

Стоит ли в геттере использовать проверку на null?

Стоит ли в геттере использовать проверку на null?
Или лучше инициализировать в Awake()?Просто тогда придется для каждого класса получать переменную по отдельность, где нужна инициализация в Awake().
Вот пример:
ExampleClass ec;

public ExampleClass GetExampleClass(){
    if(ec == null){
        ec = GetComponent<ExampleClass>();
    }
    return ec;

}
  • Вопрос задан
  • 324 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
Микропетпроджект - домашнее облако homeCloud
Достаточно холиварный вопрос. Все зависит от вашей внутренней логики. Но - выглядит это некрасиво и попахивает ошибками проектирования - сначала Init, который делает все GetComponent, а потом уже снаружи использование геттера.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Лучше так:
И это вопрос только касательно времени инициализации, похоже на Lazy.
Если объект точно нужен - то в Awake(), если таких объектов много и запрашиваемое свойство нужно не всегда, то можно и так, разница в производительности будет незначительной.
ExampleClass ec;
public ExampleClass GetExampleClass
    {
        get
        {
            return ec ?? GetComponent<ExampleClass>();
        }
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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