List <T> 添加数据 报
未将对象引用设置到对象的实例先有声明一个类如下
public class Cmocta
{
public Cmocta()
{ }
private decimal? _ta024;
private List<Cmoctb> _cmoctbs;
/// <summary>
/// 子类
/// </summary>
public List<Cmoctb> Cmoctbs
{
set { _cmoctbs = value; }
get { return _cmoctbs; }
}
}
然后我在窗体上的代码如下,
Maticsoft.Model.Cmoctb modelb = new Maticsoft.Model.Cmoctb();
modelb.tb001 = model.ta001;
modelb.tb002 = model.ta002;
modelb.tb003 = model.ta003;
model.Cmoctbs.Add(modelb);
以上编译可以通过,只是运行到 model.Cmoctbs.Add(modelb);就报未将对象引用设置到对象的实例错误,该如何修正代码呢
------解决方案--------------------Cmoctbs没有初始化,在model的构造函数中加上
_cmoctbs = new List<Cmoctb>()
------解决方案--------------------报错说的很好啊
_cmoctbs没有实例化,在添加数据之前给它实例化一下
------解决方案--------------------_cmoctbs没有实例化
------解决方案--------------------C# code
private List<Cmoctb> _cmoctbs;
public List<Cmoctb> Cmoctbs
{
get
{ if (_cmotbs == null)
{ _cmotbs = new List<CMoctb>();
}
return _cmoctbs; }
set
{ _cmoctbs = value;
}
}