【发布时间】:2014-05-01 16:28:29
【问题描述】:
我正在寻找解决这个问题的方法。
我有一个对象:
- Person (String ID, String FirstName, String LastName)
我有一个名单,上面有一对Persons
- List<Person> persons;
我的目标是:
1. Iterate through List
2. Get property value from that element with a string named to that property
例如:
我想知道列表中人员的 ID:
我可以这样做:
foreach(Person p in persons)
{
String personId = p.ID;
}
但我想做这样的事情:
foreach(Person p in persons)
{
String personId = p. + "ID";
}
我想附加字符串"ID" 以获取该元素的ID,而不是调用p.ID。
这可能吗?我需要一个解决方案,我花了很多时间但在互联网上找不到任何解决方案。
【问题讨论】:
-
你为什么要这样做?
-
你应该使用反射,看看这个 SO question。
-
@khillang 我正在阅读一个带有 ID 和属性名称的文本文件。我通过他们的 ID 获取人员(从文件中读取)并将他们放在一个列表中。然后我从该文件中读取属性名称(字符串)并遍历我已填充的列表并通过从文件中读取的字符串获取元素的属性值。
-
@AlessandroD'Andria:99.9999999% 可以通过反思解决的问题都是错误的方法。如果 OP 说出他真正想要做什么,我们可以帮助找到更好的方法。
-
@TimSchmelter 我不是反思的忠实拥护者,但是对于 OP 的要求,这是唯一的方法,但是您是对的,OP 必须后退几步并重新考虑它的问题.
标签: c# list loops object properties