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没有实例化
[解决办法]
private List<Cmoctb> _cmoctbs;public List<Cmoctb> Cmoctbs{ get { if (_cmotbs == null) { _cmotbs = new List<CMoctb>();} return _cmoctbs; } set { _cmoctbs = value; } }