Как установить внутреннее поле базового класса
-
20-08-2019 - |
Вопрос
Я расширяю класс (DirectoryServices.AccountManagement.Principal), и мне нужно присвоить значение полю в базовом классе, но оно помечено как внутреннее.Могу ли я использовать отражение для установки значения?Как бы это было сделано?
Я нашел это:
base.GetType().GetProperty("unpersisted").SetValue(??, false);
Но я не совсем уверен, как присвоить ему базовый Основной объект
Любое руководство очень ценится.
Решение
использование это для чего ??
Другие советы
Получите property для производного класса и используйте все параметры следующим образом:
GetType(Derived).GetProperty("BaseProperty", BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, GetType(PropertyType), New Type() {}, Nothing).SetValue(DerivedInstance, NewValue, Nothing)
Не связан с StackOverflow