Comment définir un champ interne de classe de base
-
20-08-2019 - |
Question
Je suis en train d’étendre une classe (DirectoryServices.AccountManagement.Principal) et je dois attribuer une valeur à un champ de la classe de base, mais il est marqué comme interne. Puis-je utiliser la réflexion pour définir la valeur? Comment cela serait-il fait?
J'ai trouvé ceci:
base.GetType().GetProperty("unpersisted").SetValue(??, false);
Mais je ne sais pas trop comment lui donner l'objet principal de base
Toute orientation est très appréciée.
La solution
utilisez this pour ??
Autres conseils
GetProperty sur la classe dérivée et utilisez tous les paramètres comme ceci:
GetType(Derived).GetProperty("BaseProperty", BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, GetType(PropertyType), New Type() {}, Nothing).SetValue(DerivedInstance, NewValue, Nothing)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow