Отражение не находит защищенное поле вложенного типа - PullRequest
7 голосов
/ 01 апреля 2011

У меня есть класс, у которого есть защищенный вложенный класс и защищенное поле только для чтения типа вложенного класса. Мой фреймворк называет

o.GetType().GetFields(BindingFlags.Public | BindingFlags.NonPublic);

в экземпляре типа я вижу поле из отладчика, но вызов не возвращает его. Почему?

Ответы [ 2 ]

11 голосов
/ 01 апреля 2011

Вам также необходимо включить BindingFlags.Instance

Экземпляр - указывает, что элементы экземпляра должны быть включены в поиск.

из

Перечисление BindingFlags (System.Reflection)

3 голосов
/ 01 апреля 2011

Вы также должны указать BindingFlags.Instance, если это нестатическое поле.

Если это статическое поле, добавьте BindingFlags.Static и BindingFlags.FlattenHierarchy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...