C# 空引用-如何判断哪个变量是空引用?
好吧,我有点困惑。我在Try.Catch中输入了一行代码,它给了我以下信息: 对象引用未设置为对象的实例 代码行是:C# 空引用-如何判断哪个变量是空引用?,c#,exception,null,C#,Exception,Null,好吧,我有点困惑。我在Try.Catch中输入了一行代码,它给了我以下信息: 对象引用未设置为对象的实例 代码行是: MainFormRef.xtraTabControl_Results.TabPages.Add(xtraTabPage_Results); 这些是DevExpress控件 在这里,我将在例程开始时创建的TabPage添加到TabControl_Results,这是我在表单上放置的控件。所以-我知道这两个物体都存在。我甚至还添加了引用它们的代码,而且不会引
MainFormRef.xtraTabControl_Results.TabPages.Add(xtraTabPage_Results);
这些是DevExpress控件
在这里,我将在例程开始时创建的TabPage添加到TabControl_Results,这是我在表单上放置的控件。所以-我知道这两个物体都存在。我甚至还添加了引用它们的代码,而且不会引发异常。同样,这是一个我从代码中的另一个地方调用的例程,它工作得很好。所以-我正在做的某些事情一定是导致当前代码路径中出现此错误的原因。但我必须承认我很困惑。
有没有办法判断哪个对象引用是空的?似乎不是代码行中的任何一个对象导致了异常 如有任何建议,将不胜感激 代码-导致异常的代码
public DevExpress.XtraTab.XtraTabPage AddResultGridTabObject()
{
DevExpress.XtraTab.XtraTabPage xtraTabPage_Results = new DevExpress.XtraTab.XtraTabPage();
var NewTabObject = new UserControl_ResultsTab();
NewTabObject.TrackerId = SavedTrackerId;
NewTabObject.FormType = TAIIDFormType.ftResultsGrid;
TabList.Add(NewTabObject);
xtraTabPage_Results.Controls.Add(NewTabObject); // Add to the Collection
NewTabObject.Dock = DockStyle.Fill; // Now have it take up the entire Tab
try
{
MessageBox.Show("Name: " +
MainFormRef.xtraTabControl_Results.TabPages.Count.ToString());
MainFormRef.xtraTabControl_Results.TabPages.Add(xtraTabPage_Results);
}
catch (Exception Error)
{
MessageBox.Show("Error while Saved Encrypted File: " + Error.Message);
}
MainFormRef.xtraTabControl_Results.SelectedTabPage = xtraTabPage_Results;
return xtraTabPage_Results;
}
我知道以下方法:
通常情况下,我会在调试程序检查每个变量的情况下逐步执行代码。我没有使用DevExpress,但我的另一个想法是,
XtraTabPage
控件可能需要设置某些属性,而该属性尚未设置。您可以向代码中添加检查以确定什么是null。John,我必须使用DevExpress进行检查-因为我在此代码中检查的每个变量都显示为已分配。。。如果我知道发生了什么,我会更新这个…大家好-谢谢你们的回复!我一直在使用调试器并跟踪代码-但似乎每个对象都被正确分配(?)-但我仍然得到空引用。行MainFormRef.xtraTabControl_Results.TabPages.Add(xtraTabPage_Results);此行上的对象和“NewTabObject”都已指定且不为空。我不得不承认我很困惑。。。我将与DevExpress核实可能发生的情况。。。