我有这段代码:
foreach (FieldInfo mainField in typeof(MainWindow).GetFields())
{
FieldInfo field = mainField;
foreach (PropertyInfo prop in field.FieldType.GetProperties())
{
object propertyValue = null;
propertyValue = prop.GetValue(field.Name, null);
Console.WriteLine(propertyValue);
}
}
我的问题在于
propertyValue = prop.GetValue(field.Name,null);
我收到错误:对象与目标类型不匹配。 如果我把它改为
propertyValue = prop.GetValue(mgmtConfig,null);
它会起作用,但是field.Name = mgmtConfig,所以我不明白是什么问题。
答案 0 :(得分:2)
GetValue method的第一个参数是将返回其字段值的对象。因此,在您的情况下,它应该是您的MainWindow
实例。
如果是静态属性,则忽略第一个参数。