12

如何获取实例的成员值?

使用 propertyInfos 有一个propertyInfo.GetValue(instance, index),但 memberInfo 中不存在这样的东西。

我搜索了网络,但似乎停止获取成员的姓名和类型。

4

2 回答 2

24

您必须向下转换为FieldInfoor PropertyInfo

switch (memberInfo)
{
  case FieldInfo fieldInfo:
    return fieldInfo.GetValue(obj);
  case PropertyInfo propertyInfo:
    return propertyInfo.GetValue(obj);
  default:
    throw new InvalidOperationException();
}
于 2012-01-10T10:16:00.753 回答
13

我想你需要的是FieldInfo.

于 2008-09-22T15:16:29.680 回答