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

本文关键字:实例 添加 数据 对象 模型 | 更新日期: 2023-09-27 17:49:52

我有两个这样的模型类

 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.
有谁能指出我做错了什么吗?

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

您应该将教育设置为空列表。在它之后,您可以向它添加成员。

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

然后创建PersonFullResponse实例,所有属性都设置为默认值。List的默认值为空。所以你应该在使用List之前创建一个新的实例。

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