BadCats
@BadCats

NullReferenceException при сравнении содержимого ComboBoxItem?

private void ComboBoxMenu_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            
            ComboBoxItem lbi = ((sender as ComboBox).SelectedItem as ComboBoxItem); 
 
           
         
            
            if (lbi.Content.ToString()=="Вийти из приложения")

и вот на этой строке:
if (lbi.Content.ToString()=="Вийти из приложения")
выдает исключение
System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта."

- но в смысле экземпляр объекта? я ведь работаю с SelectedItem - свойством которое с помощью as привожу к ComboBoxItem - и все это передаю в lbi , но я не могу передать ссылку на новый экземпляр, ведь я уже работаю с текущим ComboBox и его ComboBoxItem ?
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
ComboBoxItem lbi = ((sender as ComboBox).SelectedItem as ComboBoxItem);

В переменной lbi может находиться null, если ничего не выбрано, т.к. as возвращает null, если преобразование не удалось.

Ниже Вы пытаетесь получить доступ к полю Content у null. Об этом компилятор и сообщает.

Решение: нужно добавить проверку на null перед использованием lbi
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы