【发布时间】:2011-11-30 17:59:20
【问题描述】:
我有一堂课:
class A {
public string a = "A-val" , b = "B-val";
}
我想通过反射打印对象成员
//Object here is necessary.
Object data = new A();
FieldInfo[] fields = data.GetType().GetFields();
String str = "";
foreach(FieldInfo f in fields){
str += f.Name + " = " + f.GetValue(data) + "\r\n";
}
这是想要的结果:
a = A-val
b = B-val
不幸的是,这不起作用。请帮忙,谢谢。
【问题讨论】:
-
为什么不顺利?出了什么问题?
-
您的代码(稍作修改以使其编译)确实可以工作......到底有什么问题?
-
我没有尝试编译这个但是 f.GetValue(data) 没有返回一个对象?这应该是 .ToString() 放入字符串中
-
@Martin Booth:
GetValue返回一个对象,但你可以将一个对象添加到字符串中,这样就可以(或多或少)
标签: c# reflection