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

时间:2015-01-22 05:13:13

标签: c#

这是我的班级

[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; }

    }

这个我在Edit_BuildTeam类中用作List的类:

[DataContract]
public class MultiEMPID
{
        [DataMember]
        public int _EMPLOYEEID { get; set; }
          [DataMember]
        public string EMPNAME { 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;

Employeeid和员工姓名值来自数据库。当我调试我的代码时,它运行得很好。

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

1 个答案:

答案 0 :(得分:0)

您必须实例化列表。 EMPLOYEEID = New List<MultiEMPID>() 我会在你的类中创建一个public void New()方法并在那里实现它。这样,无论何时创建类的实例,列表也将被实例化。