Cómo establecer un campo interno de clase base
-
20-08-2019 - |
Pregunta
Estoy extendiendo una clase (DirectoryServices.AccountManagement.Principal) y necesito asignar un valor a un campo en la clase base pero está marcado como interno. ¿Puedo usar la reflexión para establecer el valor? ¿Cómo se haría eso?
Encontré esto:
base.GetType().GetProperty("unpersisted").SetValue(??, false);
Pero no estoy muy seguro de cómo darle el objeto principal base
Cualquier orientación es muy apreciada.
Solución
use esto para ??
Otros consejos
GetProperty en la clase derivada y use todos los parámetros de esta manera:
GetType(Derived).GetProperty("BaseProperty", BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, GetType(PropertyType), New Type() {}, Nothing).SetValue(DerivedInstance, NewValue, Nothing)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow