Swa*_*wag 2 c# loops properties list object
我正在寻找解决这个问题的解决方案.
我有一个对象:
- Person (String ID, String FirstName, String LastName)
Run Code Online (Sandbox Code Playgroud)
我有一对夫妇的名单 Persons
- List<Person> persons;
Run Code Online (Sandbox Code Playgroud)
我的目标是:
1. Iterate through List
2. Get property value from that element with a string named to that property
Run Code Online (Sandbox Code Playgroud)
例如:
我想知道列表中人员的ID:
我可以做这个:
foreach(Person p in persons)
{
String personId = p.ID;
}
Run Code Online (Sandbox Code Playgroud)
但我想做这样的事情:
foreach(Person p in persons)
{
String personId = p. + "ID";
}
Run Code Online (Sandbox Code Playgroud)
我想追加字符串"ID"来获取该元素的ID,而不是调用p.ID.
这可能吗?我需要一个解决方案,我花了很多时间,但在互联网上找不到任何解决方案.
您可以使用反射按名称获取属性的值:
foreach (Person p in persons)
{
var personId = typeof(Person).GetProperty("ID").GetValue(p, null) as string;
}
Run Code Online (Sandbox Code Playgroud)
当然这需要一些错误处理和一些null检查,但你得到的要点:)