12

インスタンスのメンバーの値を取得するには?

propertyInfos には がありますがpropertyInfo.GetValue(instance, index)、memberInfo にはそのようなものはありません。

ネットで調べたのですが、メンバーの名前とタイプを取得するだけにとどまるようです。

4

2 に答える 2

24

FieldInfoまたはにダウンキャストする必要があり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 に答える