C# 返回列表时,对象引用未设置为对象错误的实例

C# 返回列表时,对象引用未设置为对象错误的实例,c#,C#,这是我的课 [DataContract] public class Edit_BuildTeam { [DataMember] public int TEAMID { get; set; } [DataMember] public string PROJECTMNAME { get; set; } [DataMember] public List<MultiEMPID> E

这是我的课

[DataContract]
    public class Edit_BuildTeam
    {
        [DataMember]
        public int TEAMID { get; set; }
        [DataMember]
        public string PROJECTMNAME { get; set; }
        [DataMember]
        public List<MultiEMPID> EMPLOYEEID { get; set; }
        [DataMember]
        public string TEAMCREATIONON { get; set; }
        [DataMember]
        public string TEAMCREATEDBY { get; set; }
         [DataMember]
        public int STATUS { get; set; }

    }
这是我的svc.cs逻辑函数

Edit_BuildTeam ESM = new Edit_BuildTeam();

for (int i = 0; i < dt.Rows.Count; i++)
{
    if (i == 0)
    {
        ESM.PROJECTMNAME = dt.Rows[i]["PROJECTMNAME"].ToString();
        ESM.TEAMCREATIONON = dt.Rows[i]["CREATEDON"].ToString();
        ESM.TEAMCREATEDBY = dt.Rows[i]["TEAMCREATEDBY"].ToString();
        ESM.STATUS = int.Parse(dt.Rows[i]["STATUS"].ToString());
    }

    MultiEMPID MEP = new MultiEMPID() ;
    MEP._EMPLOYEEID = (Convert.ToInt32(dt.Rows[i].  
         ["EMPLOYEEID"].ToString()));
    MEP.EMPNAME = dt.Rows[i]["EMPLOYEENAME"].ToString();
    ESM.EMPLOYEEID.Add(MEP );
}

return ESM;
Edit_BuildTeam ESM=新建Edit_BuildTeam();
对于(int i=0;i
Employeeid和EmployeeName值来自数据库。当我调试代码时,它工作得非常好


当我添加到列表时,即
ESM.EMPLOYEEID.Add(MEP),出现错误。错误在哪里?

您必须实例化列表<代码>员工ID=新列表()

我将在您的类中创建一个public void New()方法,并在那里进行恢复。这样,每当创建类的实例时,列表也将被实例化。

在C#中,构造函数是一个没有返回类型且与类同名的方法,而不是一个新的方法。我已将您的问题标记为重复。请检查链接问题,以获得对您的问题的非常全面的答案。
Edit_BuildTeam ESM = new Edit_BuildTeam();

for (int i = 0; i < dt.Rows.Count; i++)
{
    if (i == 0)
    {
        ESM.PROJECTMNAME = dt.Rows[i]["PROJECTMNAME"].ToString();
        ESM.TEAMCREATIONON = dt.Rows[i]["CREATEDON"].ToString();
        ESM.TEAMCREATEDBY = dt.Rows[i]["TEAMCREATEDBY"].ToString();
        ESM.STATUS = int.Parse(dt.Rows[i]["STATUS"].ToString());
    }

    MultiEMPID MEP = new MultiEMPID() ;
    MEP._EMPLOYEEID = (Convert.ToInt32(dt.Rows[i].  
         ["EMPLOYEEID"].ToString()));
    MEP.EMPNAME = dt.Rows[i]["EMPLOYEENAME"].ToString();
    ESM.EMPLOYEEID.Add(MEP );
}

return ESM;