Как получить значение закрытого члена с помощью отражения C # 4 - PullRequest
1 голос
/ 30 сентября 2011

Я пытаюсь получить значение закрытого члена (текст) из NumericUpDown.

 public class NumericUpDown
 {
      private TextBox Text;
      ...
      ...
 }

Я не понимаю, почему это не отображается как поле. Может быть, кто-то мог бы уточнить разницу между полями и членами. Если бы это было поле, я обнаружил, что используя отражение, я могу получить его:

 typeof(NumericUpDown).GetField("Text", BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Instance).GetValue(this) As TextBox

но это член, поэтому я должен получить MemberInfo по:

 typeof(NumericUpDown).GetMember("Text", BindingFlags.FlattenHierarchy | BindingFlags.NonPublic | BindingFlags.Instance).GetValue(0)

это не возвращает значение, а строку с типом. Это имеет смысл, потому что это значение memberinfo, но я хочу фактическое значение фактического объекта.

Есть ли способ получить его как FieldInfo.GetValue (объект)? Любая помощь или предложения. Заранее спасибо.

1 Ответ

3 голосов
/ 30 сентября 2011
...