Tirant l'exécution de la réflexion pour accéder aux propriétés de classe C #
La programmation orientée objet nécessite fréquemment d'interagir avec les instances de classe et leurs propriétés. La réflexion offre un mécanisme puissant pour examiner et manipuler dynamiquement ces propriétés. Ce guide montre comment récupérer une liste de propriétés associées à une classe.
Récupération des informations de la propriété
L'API de réflexion .NET simplifie l'exploration de la propriété. Deux méthodes principales y parviennent:
Obj.GetType().GetProperties()
: utilisé lorsque vous travaillez avec une instance de classe spécifique. typeof(ClassName).GetProperties()
: utilisé lorsque vous travaillez directement avec le type de classe. Les deux méthodes donnent un tableau d'objets PropertyInfo
, chacun représentant une seule propriété de la classe.
Exemple pratique
illustrons avec un exemple de classe:
public class Foo { public int A { get; set; } public string B { get; set; } }
Le code de code suivant récupère et affiche les valeurs de toutes les propriétés d'une instance Foo
:
Foo foo = new Foo { A = 1, B = "abc" }; foreach (var prop in foo.GetType().GetProperties()) { Console.WriteLine($"{prop.Name} = {prop.GetValue(foo)}"); }
Remarques importantes:
null
comme deuxième argument à GetValue()
. GetProperties(BindingFlags)
avec des drapeaux appropriés comme BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance
. N'oubliez pas que l'accès à des membres non publics doit être fait avec prudence et seulement lorsque vous avez absolument nécessaire. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!