Come impostare un campo interno della classe base
-
20-08-2019 - |
Domanda
Sto estendendo una classe (DirectoryServices.AccountManagement.Principal) e devo assegnare un valore a un campo nella classe base ma è contrassegnato come interno. Posso usare la riflessione per impostare il valore? Come verrebbe fatto?
Ho trovato questo:
base.GetType().GetProperty("unpersisted").SetValue(??, false);
Ma non sono del tutto sicuro di come dargli l'oggetto principale di base
Qualsiasi consiglio è molto apprezzato.
Soluzione
usa questo per ??
Altri suggerimenti
GetProperty sulla classe derivata e usa tutti i parametri come questo:
GetType(Derived).GetProperty("BaseProperty", BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, GetType(PropertyType), New Type() {}, Nothing).SetValue(DerivedInstance, NewValue, Nothing)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow