2014-03-12 57 views
0

的情況下我有這樣無法將數據添加到模型對象

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. 

任何一個可以指出我我做錯了嗎?

回答

2

你應該設置教育清空列表。之後你可以添加成員。

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

然後,您創建PersonFullResponse實例,所有屬性都設置爲默認值。 List的默認值爲null。所以你應該在使用它之前創建List的新實例。

您可以通過setter或類構造函數來設置屬性。

+0

我不完全明白你,你可以添加一個代碼示例? – Athul

+0

我將代碼添加到答案 –

+0

是的,這工作表示感謝您的幫助。我會接受答案作爲正確的意思,而可能是你可以添加一些更多的描述到你的答案,這將有助於其他人瞭解什麼出了問題,爲什麼這解決方案:) – Athul