无法将数据添加到模型对象的实例

时间:2014-03-12 05:14:35

标签: c# asp.net

我有两个这样的模型类

 public class PersonFullResponse
{
    public string profilePicture { get; set; }
    public string primaryMembership { get; set; }
    public List<EducationsResponse> educations { get; set; }
}
 public class EducationsResponse
{
    public string Id { get; set; }
    public string SchoolName { get; set; }
    public int StartYear { get; set; }
    public int EndYear { get; set; }
    public string Degree { get; set; }
    public object FieldOfStudy { get; set; }
}

正如您所看到的,第一个模型也包含第二个模型的列表。 现在我正在尝试像这样创建这个类和数据数据的对象

   PersonFullResponse pfr = new PersonFullResponse();
                   var er = new EducationsResponse
                {
                    Degree = "",
                    SchoolName = "",
                    StartYear =11,
                    EndYear =12
                };
           pfr.educations.Add(er);

但是这会在最后一步引发错误

    System.NullReferenceException was unhandled by user code
  HResult=-2147467261
  Message=Object reference not set to an instance of an object.

任何人都可以指出我做错了吗?

1 个答案:

答案 0 :(得分:2)

您应该将教育设置为清空列表。之后你可以添加成员。

PersonFullResponse pfr = new PersonFullResponse {educations = new List<EducationsResponse>()};

然后创建PersonFullResponse实例,将所有属性设置为默认值。 List的默认值为null。因此,您应该在使用之前创建List的新实例。

您可以通过setter或类构造函数设置属性。