Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 17.05.2013, 09:16   #1
Kroshandowski
Новичок
 
Регистрация: 17.05.2013
Сообщений: 3
Репутация: 10
По умолчанию Как проверить null или сылка на объект не указывает на экземпляр объекта

Здравствуйте!При отладке, программа вылетает и выходит сообщение:

Цитата:
Ссылка на объект не указывает на экземпляр объекта
и указывает на эти строки:

Код:

listView1.Items.Add("Файловая система: ").SubItems.Add(queryObj["FileSystem"].ToString());
listView1.Items.Add("Серийный номер: ").SubItems.Add(queryObj["VolumeSerialNumber"].ToString());
listView1.Items.Add("Свободное место: ").SubItems.Add(queryObj["FreeSpace"].ToString());
listView1.Items.Add("Общий размер: ").SubItems.Add(queryObj["Size"].ToString());

Вот код кнопки, которая вызывает список логический дисков.

Код:

private void button4_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_LogicalDisk");

foreach (ManagementObject queryObj in searcher2.Get())
{
listView1.Items.Add("Диск: ").SubItems.Add(queryObj["Caption"].ToString());
listView1.Items.Add("Значение: ").SubItems.Add(queryObj["Description"].ToString());
listView1.Items.Add("Файловая система: ").SubItems.Add(queryObj["FileSystem"].ToString());
listView1.Items.Add("Серийный номер: ").SubItems.Add(queryObj["VolumeSerialNumber"].ToString());
listView1.Items.Add("Свободное место: ").SubItems.Add(queryObj["FreeSpace"].ToString());
listView1.Items.Add("Общий размер: ").SubItems.Add(queryObj["Size"].ToString());
listView1.Items.Add("-------------------");
}
}

Читал на форумах,что данное сообщение выскакивает когда значение равно null. Как сделать проверку или как-то изменить код?

Заранее спасибо.
Kroshandowski вне форума   Ответить с цитированием
Старый 17.05.2013, 09:45   #2
Guy
Форумчанин
 
Регистрация: 15.12.2010
Адрес: yaroslavl
Сообщений: 398
Репутация: 129
По умолчанию

Может так, и дальше по аналогии, если Add() object принимает то можно и без проверки, просто .ToString() убрать
Код:

listView1.Items.Add("Файловая система: ").SubItems.Add(queryObj["FileSystem"] != null ? queryObj["FileSystem"] : string.Empty);

Guy вне форума   Ответить с цитированием
Старый 17.05.2013, 11:50   #3
Kroshandowski
Новичок
 
Регистрация: 17.05.2013
Сообщений: 3
Репутация: 10
По умолчанию

Цитата:
Сообщение от Guy Посмотреть сообщение
Может так, и дальше по аналогии, если Add() object принимает то можно и без проверки, просто .ToString() убрать
Код:

listView1.Items.Add("Файловая система: ").SubItems.Add(queryObj["FileSystem"] != null ? queryObj["FileSystem"] : string.Empty);

Не помогло(
Выдает ошибку:
Цитата:
Аргумент "1": преобразование типа из "object" в "string" невозможно
Цитата:
Наиболее подходящий перегруженный метод для "System.Windows.Forms.ListViewItem. ListViewSubItemCollection.Add(strin g)" имеет несколько недопустимых аргументов
Kroshandowski вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как проверить проинициализирован ли объект? :=) Общие вопросы Delphi 1 13.08.2012 14:28
C# класс -> Ссылка на объект не указывает на экземпляр объекта. MyXa C# (си шарп) 2 17.06.2012 07:28
Ссылка на объект не указывает на экземпляр объекта. Kazbek17 C# (си шарп) 11 08.02.2012 18:56
Ссылка на объект не указывает на экземпляр объекта C++ Юля_ Помощь студентам 2 09.01.2012 16:04


14:33.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru