NullReferenceException未处理C#(使用BindingList)[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NullReferenceException未处理C#(使用BindingList)[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我正在尝试重新开发一个程序,我无法弄清楚导致错误的原因:
你调用的对象是空的。
private void setDataSource(BindingList<ListObject> list)
{
if(this.dataGridView1.InvokeRequired)
{
SetDSCallback method = new SetDSCallback(this.setDataSource);
base.Invoke(method, new object[] { list }); <-- Error Here
}
else
{
this.dataGridView1.DataSource = null;
this.dataGridView1.DataSource = list;
this.dataGridView1.Columns["ip"].HeaderText = "External IP";
this.dataGridView1.Columns["macAddress"].HeaderText = "MAC Address";
this.dataGridView1.Columns["ipSource"].HeaderText = "IP Source";
this.dataGridView1.Columns["ipDest"].HeaderText = "IP Destination";
this.dataGridView1.Columns["portSource"].HeaderText = "Source Port";
this.dataGridView1.Columns["portDest"].HeaderText = "Destination Port";
this.dataGridView1.Columns["protocol"].HeaderText = "Protocol";
this.dataGridView1.Columns["label"].HeaderText = "Label";
this.dataGridView1.Columns["country"].HeaderText = "Country";
this.dataGridView1.Columns["state"].HeaderText = "State";
this.dataGridView1.Columns["city"].HeaderText = "City";
this.dataGridView1.Columns["packetCount"].HeaderText = "Packets";
}
}
如果他们愿意提供帮助,我愿意将整个项目发送给某人。 ListObject
类是一类吸气剂和二传手。
答案
将if,else块放入另一个if并检查if(list!= null)并将if else块放入其中。
private void setDataSource(BindingList<ListObject> list)
{
if(list!=null)
{
if(this.dataGridView1.InvokeRequired)
{
SetDSCallback method = new SetDSCallback(this.setDataSource);
base.Invoke(method, new object[] { list }); <-- Error Here
}
else
{
this.dataGridView1.DataSource = null;
this.dataGridView1.DataSource = list;
this.dataGridView1.Columns["ip"].HeaderText = "External IP";
this.dataGridView1.Columns["macAddress"].HeaderText = "MAC Address";
this.dataGridView1.Columns["ipSource"].HeaderText = "IP Source";
this.dataGridView1.Columns["ipDest"].HeaderText = "IP Destination";
this.dataGridView1.Columns["portSource"].HeaderText = "Source Port";
this.dataGridView1.Columns["portDest"].HeaderText = "Destination Port";
this.dataGridView1.Columns["protocol"].HeaderText = "Protocol";
this.dataGridView1.Columns["label"].HeaderText = "Label";
this.dataGridView1.Columns["country"].HeaderText = "Country";
this.dataGridView1.Columns["state"].HeaderText = "State";
this.dataGridView1.Columns["city"].HeaderText = "City";
this.dataGridView1.Columns["packetCount"].HeaderText = "Packets";
}
}
else
{
//handle if list is null
}
}
以上是关于NullReferenceException未处理C#(使用BindingList)[重复]的主要内容,如果未能解决你的问题,请参考以下文章
错误提示:未处理的“System.NullReferenceException”类型的异常出现在 system.data.dll 中。 其他信息: 未将对象引用设置到对象的实例。
Unity C# NullReferenceException:对象引用未设置为对象的实例
async/await 抛出 NullReferenceException 我们如何诊断我们在哪里搞砸了?
NullReferenceException:对象引用未设置为对象 Player.AnimatePlayer () 的实例(在 Assets/scripts/Player.cs:53)Player.U