示例
public class MyItems
{
public object Test1 {get ; set; }
public object Test2 {get ; set; }
public object Test3 {get ; set; }
public object Test4 {get ; set; }
public List<object> itemList
{
get
{
return new List<object>
{
Test1,Test2,Test3,Test4
}
}
}
}
public void LoadItems()
{
foreach (var item in MyItems.itemList)
{
//get name of item here (asin, Test1, Test2)
}
}
**
我已经用反射尝试过这个..asin typeof(MyItems).GetFields()
等..但这不起作用。
如何找出“item”的名称?测试1?测试2??等等...
最佳答案
var test = typeof(MyItems).GetProperties().Select(c=>c.Name);
上面将为您提供一个可枚举的属性名称。 如果您想获取列表中属性的名称,请使用:
var test = typeof(MyItems).GetProperties().Select(c=>c.Name).ToList();
编辑:
从您的评论中,您可能正在寻找:
foreach (var item in m.itemList)
{
var test2 = (item.GetType()).GetProperties().Select(c => c.Name);
}
关于c# - 获取列表中的属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12142332/