C# 获得;对象引用未设置为实例";尝试将元素添加到列表时
我创建了这个模型C# 获得;对象引用未设置为实例";尝试将元素添加到列表时,c#,asp.net-mvc,C#,Asp.net Mvc,我创建了这个模型 namespace gantt.Models { public class ganttModels { public IList<ganttModel> allGantt { get; set; } } public class ganttModel { public string projectName { get; set; } public IEnumerable<
namespace gantt.Models
{
public class ganttModels
{
public IList<ganttModel> allGantt { get; set; }
}
public class ganttModel
{
public string projectName { get; set; }
public IEnumerable<ResourcesSet> rescource { get; set; }
}
}
repositor找到数据并添加它。正如我看到的,我已经实例化了returnModels,它已经初始化了
returnModels.allGantt
不是
您可以这样做:
public class ganttModels
{
public IList<ganttModel> allGantt { get; set; }
public ganttModels()
{
allGantt = new List<ganttModel>();
}
}
公共类甘特图模型
{
公共IList allGantt{get;set;}
公共甘特图模型()
{
allGantt=新列表();
}
}
或者别的什么。
returnModels
已初始化
returnModels.allGantt
不是
您可以这样做:
public class ganttModels
{
public IList<ganttModel> allGantt { get; set; }
public ganttModels()
{
allGantt = new List<ganttModel>();
}
}
公共类甘特图模型
{
公共IList allGantt{get;set;}
公共甘特图模型()
{
allGantt=新列表();
}
}
或者别的什么。您没有在GantModels类中实例化列表
public class ganttModels
{
public ganttModels(){
allGantt = new List<ganttModel>();
}
public IList<ganttModel> allGantt { get; set; }
}
公共类甘特图模型
{
公共甘特图模型(){
allGantt=新列表();
}
公共IList allGantt{get;set;}
}
您没有在GantModels类中实例化列表
public class ganttModels
{
public ganttModels(){
allGantt = new List<ganttModel>();
}
public IList<ganttModel> allGantt { get; set; }
}
公共类甘特图模型
{
公共甘特图模型(){
allGantt=新列表();
}
公共IList allGantt{get;set;}
}
returnModels.allGantt在尝试添加时为空
在gantModels的构造函数中创建List的实例,或
在Add调用之前
returnModels.allGantt = new List<gantModel>();
returnModels.allGantt=new List();
returnModels.allGantt在尝试添加时为空
在gantModels的构造函数中创建List的实例,或
在Add调用之前
returnModels.allGantt = new List<gantModel>();
returnModels.allGantt=new List();
您可以将构造函数定义为,也可以放弃自动实现的属性并执行以下操作:
private IList<ganttModel> _allGantt = new List<ganttModel>();
public IList<ganttModel> AllGantt
{
get { return _allGantt; }
set { _allGantt = value; }
}
private IList\u allGantt=new List();
公共图书馆
{
获取{return\u allGantt;}
设置{u allGantt=value;}
}
您可以将构造函数定义为,也可以放弃自动实现的属性并执行以下操作:
private IList<ganttModel> _allGantt = new List<ganttModel>();
public IList<ganttModel> AllGantt
{
get { return _allGantt; }
set { _allGantt = value; }
}
private IList\u allGantt=new List();
公共图书馆
{
获取{return\u allGantt;}
设置{u allGantt=value;}
}
您需要定义甘特图模型
类,如下所示:
public class GanttModels // use correct casing!
{
public GanttModels() { this.AllGantt = new List<GanttMode>(); }
public IList<GanttModel> AllGantt { get; private set; }
}
您需要定义
ganttModels
类,如下所示:
public class GanttModels // use correct casing!
{
public GanttModels() { this.AllGantt = new List<GanttMode>(); }
public IList<GanttModel> AllGantt { get; private set; }
}
你需要初始化allGantt
private IList<ganttModel> _allGantt;
public IList<ganttModel> allGantt {
get{ return _allGantt ?? (_allGantt = new new List<ganttModel>()); }
set{ _allGantt = value;}
}
private IList\u allGantt;
公共IList allGantt{
获取{return}
设置{u allGantt=value;}
}
您需要初始化AllGant
private IList<ganttModel> _allGantt;
public IList<ganttModel> allGantt {
get{ return _allGantt ?? (_allGantt = new new List<ganttModel>()); }
set{ _allGantt = value;}
}
private IList\u allGantt;
公共IList allGantt{
获取{return}
设置{u allGantt=value;}
}
returnModels.allGantt
从未实例化过……但它不属于“returnModels”范畴吗?我必须实例化一个类中所有的底层变量吗?@Tim是的,你必须。引用类型的默认值为null
。接口,以及类和委托,都被声明为引用类型。你真的尝试过吗?Arun,抱歉,2-3个小时,我对这个世界很陌生,我能找到的只是实例化它。我承认我有点惭愧。returnModels。allGantt
从未实例化过……但它不属于“返回模式"? 我必须实例化一个类中所有的底层变量吗?@Tim是的,你必须。引用类型的默认值为null
。接口以及类和委托都被声明为引用类型。你真的亲自尝试过吗?Arun,2-3个小时,很抱歉,我对这个世界很陌生,我能找到的只是实例化它。我承认我有点惭愧。啊,我明白了。。很抱歉我真是太蠢了,我对主数据类型视而不见:/啊,我明白了。。很抱歉这真是太愚蠢了,我对主数据类型视而不见:/