引用未设置为实例错误

本文关键字:实例 错误 设置 引用 | 更新日期: 2023-09-27 18:19:57

当以下代码在启动时发生时,我得到错误"引用未设置为对象的实例":

  switch (Popup_Data_Type_ComboBox.SelectedItem.ToString())
            {

我很确定这个错误是由于尚未创建Popup_Data_Type_ComboBox而发生的,因此不可能获得字符串值。我该如何解决这个问题?

好的,非常感谢我在检查Popup_Data_Type_ComboBox.SelectedItem==null时提供的所有帮助,它现在可以正常工作

引用未设置为实例错误

在切换之前添加一个检查,假设代码在一个只处理Popup_Data_Type_ComboBox.SelectionChanged-事件或类似事件的方法中:

if (Popup_Data_Type_ComboBox == null 
    || Popup_Data_Type_ComboBox.SelectedIndex < 0)
{
    // Just return from the method, do nothing more.
    return;
}
switch (...)
{
}

最有可能的问题是您的组合框尚未创建,或者没有选定的项目。在这种情况下,您必须明确处理:

if (Popup_Data_Type_ComboBox != null && Popup_Data_Type_ComboBox.SelectedItem != null)
{
    switch (Popup_Data_Type_ComboBox.SelectedItem.ToString())
    {
        //... 
    }
}
else
{
   // Do your initialization with no selected item here...
}

我会首先验证Popup_Data_Type_ComboBox是否已实例化,然后验证是否已选择项目。如果你像你说的那样在启动时运行这个,那么很可能没有选择任何项目。您可以使用进行检查

if(Popup_Data_Type_ComboBox.SelectedItem != null)
{
    switch (Popup_Data_Type_ComboBox.SelectedItem.ToString())
        {
            //.....
        }
 }