我有一个C#方法,需要将各种列表传递给它。这些列表的类型经常会不同。该方法本身位于不同的dll中,不能知道列表中包含的类对象(没有引用,没有using语句)。该方法需要读取每个列表项中的每个成员,并基于此构建并返回一个字符串。
我的问题是如何在编译时/运行时获取这些不同对象的元数据?反射能做到吗?
另外,一旦我获得了元数据,如何使用它来实际使用变量?
谢谢
编辑:目前我是像以下方式使用它的:
我的问题是如何在编译时/运行时获取这些不同对象的元数据?反射能做到吗?
另外,一旦我获得了元数据,如何使用它来实际使用变量?
谢谢
编辑:目前我是像以下方式使用它的:
public string GetData(List<User> list){
//...
List<RowData> rows = new List<RowData>();
foreach (User item in list)
{
RowData row = new RowData();
row.id = count++;
row.cell = new string[3];
row.cell[0] = item.ID.ToString();
row.cell[1] = item.name;
row.cell[2] = item.age.ToString();
rows.Add(row);
}
//...
return new JavaScriptSerializer().Serialize(rows.ToArray());
目前这很具体化。我希望使用泛型来替换它,以便我可以传递除“用户”之外的其他项。
dynamic
,以避免直接使用反射跳过障碍。 - Chris Sinclair