222 votes

Trouver un champ privé avec réflexion ?

Compte tenu de cette classe

Je veux trouver l’élément privé _bar j’ai marquer avec un attribut. Est-ce possible ?

Je l’ai fait avec les propriétés où j’ai regardé pour un attribut, mais jamais un champ d’initiative parlementaire.

Quels sont les indicateurs de liaison que je dois régler pour obtenir les champs privés ?

275voto

Bob King Points 12913

Utilisation et drapeaux

163voto

Abe Heidebrecht Points 16417

Vous pouvez le faire comme avec une propriété :

40voto

Suriya Points 74

Obtenez la valeur de la variable privée à l’aide de la réflexion :

Définir la valeur de la variable privée à l’aide de la réflexion :

Où objectForFooClass est une instance non-nulle pour le type de classe Foo.

24voto

jammycakes Points 2999

Une chose que vous devez être informé lors de la réflexion sur les membres privés, c’est que si votre application s’exécute en confiance moyenne (comme, par exemple, lorsque vous exécutez sur un environnement d’hébergement partagé), il ne les trouve pas--l’option BindingFlags.NonPublic sera tout simplement être ignoré.

18voto

Darren Kopp Points 27704
typeof(MyType).GetField("fieldName", BindingFlags.NonPublic | BindingFlags.Instance)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X