【问题标题】:dynamic to specific class object conversion动态到特定类对象的转换
【发布时间】:2020-10-19 22:22:18
【问题描述】:

如何将动态变量转换为特定的类。 动态变量与我的特定类具有相同的属性。

public class PracovnikHmotZodpovednostDropDownListItem
    {
        [Column("ZAZNAM_ID")]
        public int? ZaznamId { get; set; }
        [Column("TEXT")]
        public string Text { get; set; }
        [Column("VALL")]
        public int Value { get; set; }
        public bool Disabled { get; set; } = false;
        public UpdateStatusEnum UpdateStatus { get; set; }

    }

void someMethod(dynamic dtos){
List<PracovnikHmotZodpovednostDropDownListItem> dto =
 (List<PracovnikHmotZodpovednostDropDownListItem>)dtos;

}

【问题讨论】:

标签: c#


【解决方案1】:

如果您只知道属性具有相同的名称,那么您就处于鸭式打字领域,强制转换对您没有帮助。

好消息是,做起来很简单,很乏味:

var dtoList = new List<PracovnikHmotZodpovednostDropDownListItem>();
foreach(var dto in dtos)
    dtoList.Add(new()
    {
        ZaznamId = dto.ZaznamId,
        Text = dto.Text,
        // etc..
    });

【讨论】:

  • "动态变量与我的特定类具有相同的属性。" -- 别告诉我,和那个写那个的人谈谈。
  • 如果我转到我的 dtos 变量的 resultView ,则与我的特定类中的键相同
  • 那么有什么问题呢?
  • 如何获取 List 类型的变量?
  • 我回答了这个问题。您还有什么需要帮助的吗?
猜你喜欢
  • 2018-10-13
  • 1970-01-01
  • 2015-01-06
  • 1970-01-01
  • 2018-09-30
  • 2021-07-21
  • 2019-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多