【发布时间】:2016-05-01 18:04:32
【问题描述】:
例如,如果我有这个类
public class User{
int Id;
string Name;
short Age;
}
还有User的集合:
public class UserCollection: List<User>{...}
我可以从UserCollection 选择哪个属性是Key(或Value)来创建List<KeyValue>(KeyValue 是我的班级)吗?
我尝试使用此代码:
private List<KeyValue> ReadCollection(dynamic collection, string keyName, string valueName)
{
List<KeyValue> list = new List<KeyValue>();
for(int i = 0; i < collection.Count; i++)
{
dynamic elem = collection[i];
// I can't use this notation, but only elem.Id
int key = elem[keyName];
// I can't use this notation, but only elem.Name
string value = elem[valueName];
list.Add(new KeyValue(key, value));
}
return list;
}
List<KeyValue> list = ReadCollection(userCollection, "Id", "Name");
但它不起作用。可以选择将哪个属性放入我的KeyValue 类中?
【问题讨论】: