我想知道如何获取动态类型的属性。
这是获取List的功能,
var result = _files.GetFileContent(reportId).Result;
作为示例,我得到一个像这样返回的对象:
当我打开它时,你可以看到我拥有的属性:
这个想法是我永远不知道这些属性。它们可以随着时间而改变。所以我想要一个充满所有属性的列表。所以我可以动态地使用它们。
如何从第一项获得属性(ChargesDelta_DIFF_5,ChargesEfile_RIGHT,ChargesGecep_LEFT等)?
答案 0 :(得分:6)
您可以使用反射来获取属性并将其转换为字典:
[Int]
答案 1 :(得分:3)
如果有人仍在为此而挣扎(就像我一样),这可能会有用。
假设data
是您要列出以下所有属性的动态:
这对我有用
using System.ComponentModel;
...
dynamic data = new {
value1 = 12,
value2 = "asdasd",
value3 = 98,
value4 = "pgiwfj",
};
foreach (PropertyDescriptor prop in TypeDescriptor.GetProperties(data))
{
Console.WriteLine("PROP: " + prop.Name);
}
...
然后它将输出: