我正在尝试将动态列表转换为类模型列表(Products)。这就是我的方法的样子:
public List<Products> ConvertToProducts(List<dynamic> data)
{
var sendModel = new List<Products>();
//Mapping List<dynamic> to List<Products>
sendModel = data.Select(x =>
new Products
{
Name = data.GetType().GetProperty("Name").ToString(),
Price = data.GetType().GetProperty("Price").GetValue(data, null).ToString()
}).ToList();
}
我已尝试过这两种方法来获取属性值,但它给出了我的空错误,说这些属性不存在或者它们为空。
Name = data.GetType()。GetProperty(“Name”)。ToString(),
Price = data.GetType()。GetProperty(“Price”)。GetValue(数据, 空)的ToString()
这就是我的Model-class的样子:
public class Products
{
public string ID { get; set; }
public string Name { get; set; }
public string Price { get; set; }
}
有人可以让我知道我错过了什么吗?提前谢谢。
答案 0 :(得分:2)
您目前正在尝试从data
获取属性,这是您的列表 - 而您忽略了x
,即列表中的项。我怀疑你想要:
var sendModel = data
.Select(x => new Products { Name = x.Name, Price = x.Price })
.ToList();
您可能想要对属性的结果调用ToString()
,但不清楚原始数据中的内容。