Как установить внутреннее поле базового класса - PullRequest
0 голосов
/ 28 июня 2009

Я расширяю класс (DirectoryServices.AccountManagement.Principal), и мне нужно присвоить значение полю в базовом классе, но оно помечено как внутреннее. Могу ли я использовать отражение, чтобы установить значение? Как это будет сделано?

Я нашел это:

base.GetType().GetProperty("unpersisted").SetValue(??, false);

Но я не совсем уверен, как дать ему базовый основной объект

Любое руководство очень ценится.

Ответы [ 2 ]

1 голос
/ 28 июня 2009

используйте это для ??

0 голосов
/ 28 июня 2009

GetProperty для производного класса и используйте все параметры следующим образом:

GetType(Derived).GetProperty("BaseProperty", BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, GetType(PropertyType), New Type() {}, Nothing).SetValue(DerivedInstance, NewValue, Nothing)
...