c# - 如何将列表填充为类对象?

标签 c# list

如何将列表填充为类对象?例如,这不起作用:

[DataContract]
public class JsonReviewFormFields
{
    [DataMember]
    public PersonalDevelopmentPlan personalDevelopmentPlan { get; set; }      
}

public class PersonalDevelopmentPlan
{
    public List<ShortTerm> shortTerm { get; set; }
    public List<LongTerm> longTerm { get; set; }
}

public class ShortTerm
{
    public string workRelated { get; set; }
    public string structured { get; set; }
    public string informal   { get; set; }       
    public string reviewDate { get; set; }
}

public class LongTerm
{
    public string workRelated { get; set; }
    public string structured { get; set; }
    public string informal { get; set; }
    public string reviewDate { get; set; }   
}

这是 Controller 操作:

public JsonReviewFormFields GetReviewForm()
{
    PersonalDevelopmentPlan personalDevelopmentPlan = new PersonalDevelopmentPlan();

     List<ShortTerm> _itemsShort = new List<ShortTerm>();
    _itemsShort.Add(new ShortTerm { workRelated = "workRelated text", structured = "structured text", informal = "informal text", reviewDate = "reviewDate" });
    jsonReviewFormFields.personalDevelopmentPlan.shortTerm =  _itemsShort;

    List<LongTerm> _itemsLong = new List<LongTerm>();
    _itemsLong.Add(new LongTerm { workRelated = "workRelated text", structured = "structured text", informal = "informal text", reviewDate = "reviewDate" });
    jsonReviewFormFields.personalDevelopmentPlan.longTerm =  _itemsLong;     

    return jsonReviewFormFields;
}

代码崩溃于

jsonReviewFormFields.personalDevelopmentPlan.shortTerm =  _itemsShort;

这可能是一个基本的面向对象错误。如何填充列表?

最佳答案

您没有实例化它,您必须首先实例化类型:

jsonReviewFormFields.personalDevelopmentPlan = new PersonalDevelopmentPlan();

然后设置它的属性:

jsonReviewFormFields.personalDevelopmentPlan.shortTerm =  _itemsShort

在此之前,您还必须实例化主类,我在 Controller 操作中没有在任何地方看到它:

JsonReviewFormFields jsonReviewFormFields = new JsonReviewFormFields();

关于c# - 如何将列表填充为类对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208982/

相关文章:

c# - 基于 Odata Controller 中的 ImageKey 将图像加载到 igGrid 列中

c# - DataGridview 搜索 : show only searchresult and hide other rows?

python - 查找严格位于 X 个列表中的 N 个中的元素

python - 如何根据另一个列表对元组列表进行排序

Sharepoint Lists.asmx : The request failed with an empty response

c# - 在 .Net 4.7.2 中导入 AngleSharp 时绑定(bind)重定向以某种方式尝试将 NetStandard 2 作为 dll 引入

c# - SQLite 级联删除

c# - 自动完成文本框错误 - 写入 protected 内存

r - 根据名称将值添加到列表中的数据框

list - 删除重复项并对列表进行排序