Вот структура:
MyClass: SuperClass2
SuperClass2: SuperClass1
superClass2 находится в Product.Web и SuperClass1 в сборке .NET System.Web
Я пытаюсь заставить значение в поле private bool на SuperClass1. Но не важно, что я пытаюсь, я не могу вернуть поля из отражения.
Я использую следующий код с различными комбинациями BindingFlag, но до сих пор ничего не работало. SuperClass1 является абстрактным классом.
((SuperClass1)this).GetType().GetFields(System.Reflection.BindingFlags.NonPublic);
Примечания: Когда я использую GetProperties(), я получаю хороший большой список, но когда я указываю какие-либо привязки, я ничего не получаю, даже если есть соответствующие свойства. Какая сделка?
Кроме того, поле не отмечено внутренним
Obvisouly Я бы использовал GetField (имя строки, BindingFlags), но я даже не могу заставить GetFlags() работать.
Обновление. Я попытался добавить BindingFlags.Instance, как было предложено, но он не работает (как и ожидалось). Я возвращаю 2 поля, которые поступают из класса SuperClass1, наследуемого. Возвращает null при использовании с GetField (имя строки, флаги)
Вот код для базового класса. Я пытаюсь получить поле для
public abstract class BaseValidator : Label, IValidator
{
private bool propertiesChecked;
...
}