我有一个需要将各种列表传递到的 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());
现在这是非常具体的。我想用泛型替换它,这样我就可以传递“用户”以外的项目