【问题标题】:How to add Items to the property of class type如何将项目添加到类类型的属性中
【发布时间】:2017-02-13 19:01:15
【问题描述】:

以下是我的类,具有类类型 (MeetingAliases) 的别名列表属性。如何将多个项目添加到别名并作为参数与其他 TSGetRootObject 属性数据一起传递给某个方法。例如。

TSGetRootObject ts = new TSGetRootObject(); 
ts.aliases ???? //How to add data list here
ts.name = id;
ts.service_type = srvtype;
ts = TransfomationSrv.PostData(ts);

public class TSGetRootObject
{

    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public List<MeetingAliases> aliases { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public bool? allow_guests { get; set; }
}

public class MeetingAliases
{ 
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string alias { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string conference { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string description { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public int? id { get; set; }
}

【问题讨论】:

  • 类似这样的东西:ts.aliases = new List&lt;MeetingAliases&gt;(); ts.aliases.Add(new MeetingAliases());
  • 如何将数据添加到 MeetingAliases 属性。

标签: c# list oop


【解决方案1】:
ts.aliases = new List<MeetingAliases>(); 
ts.aliases.Add(new MeetingAliases
{
    alias = "Some text",
    conference = "Other text"
});

我建议你看看Object Initializer

也可以在TSGetRootObject的构造函数中初始化aliases列表:

public class TSGetRootObject
{
    public TSGetRootObject
    {
        aliases = new List<MeetingAliases>();
    }

    //Or in c# 6.0 or higher:
    public List<MeetingAliases> aliases { get; set; } = new List<MeetingAliases>();
}

【讨论】:

  • 请注意,第二个初始化程序示例仅适用于 C#6
  • @GeoffJames - 正确 :) 将添加评论。谢谢
  • 谢谢@GeoffJames
【解决方案2】:

你可以这样做的一个选择是:

TSGetRootObject 添加一个构造函数,在其中初始化List。然后在TSGetRootObject对象中添加一个新对象MeetingAliases

TSGetRootObject ts = new TSGetRootObject(); 
ts.aliases.Add(new MeetingAliases {
       alias = "alias",
       conference = "conference",
       description = "description",
       id = 1
    }); 
ts.name = id;
ts.service_type = srvtype;
ts = TransfomationSrv.PostData(ts);

public class TSGetRootObject
{

    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public List<MeetingAliases> aliases { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public bool? allow_guests { get; set; }

    public TSGetRootObject(){
        aliases = new List<MeetingAliases>();
    }
}

public class MeetingAliases
{ 
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string alias { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string conference { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public string description { get; set; }
    [DataMember]
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
    public int? id { get; set; }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    相关资源
    最近更新 更多