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.

È stato utile?

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
scroll top