sfreaky
@sfreaky
Начинающий веб и софт разработчик

Как исправить nullreferenceexception в свойстве?

Есть свойство в окне
public FormulaViewModel ViewModel
        {
            get
            {
                return DataContext as FormulaViewModel ?? (DataContext = new FormulaViewModel()) as FormulaViewModel;
            }
            set
            {
                DataContext = value;
            }
        }

При дальнейшем использовании выбрасывается Null reference exception
private void Parameters_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            switch (e.Action)
            {
                case NotifyCollectionChangedAction.Add:
                    {
                        ViewModel.Parameters.Add(e.NewItems[0] as Parameter);
                        break;
                    }
                case NotifyCollectionChangedAction.Remove:
                    {
                        ViewModel.Parameters.Remove(e.OldItems[0] as Parameter);
                        break;
                    }
            }
        }

При дебаге, при наведение на свойство, чтобы посмотреть значение сначала выдаёт exception, а со второго раза выдаёт созданный объект. Как исправить?
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
@DarkByte2015
Ради бога не надо все лепить в одну строку. Это не добавляет читабельности. А проблема скорее всего как раз из-за этого!

if (DataContext is null)
DataContext = new FormulaViewModel()

return DataContext;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Скорее всего, DataContext == null и исключение выкидывается при попытке доступа к DataContext.
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
ЛАНИТ Москва
от 80 000 до 100 000 руб.
Spotware Systems Лимассол
от 3 500 до 4 000 eur.
Кнопка Екатеринбург
До 100 000 руб.
18 авг. 2018, в 11:06
10000 руб./за проект
18 авг. 2018, в 10:13
500 руб./в час
18 авг. 2018, в 09:13
13000 руб./за проект