.net Get All Properties Of An Object

4 min read Jun 03, 2024
.net Get All Properties Of An Object

Obtenir toutes les propriétés d'un objet .NET

Obtenir toutes les propriétés d'un objet est une tâche courante dans la programmation .NET. Il existe plusieurs façons d'y parvenir, et la méthode la plus appropriée dépendra de vos besoins spécifiques.

Utilisation de la réflexion

La réflexion est un outil puissant qui vous permet d'obtenir des informations sur les types et les membres d'un objet à l'exécution.

Voici un exemple de code qui utilise la réflexion pour obtenir toutes les propriétés d'un objet :

using System;
using System.Reflection;

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main(string[] args)
    {
        Person person = new Person { FirstName = "John", LastName = "Doe", Age = 30 };

        // Obtenir toutes les propriétés de l'objet Person
        PropertyInfo[] properties = person.GetType().GetProperties();

        // Afficher les noms et les valeurs des propriétés
        foreach (PropertyInfo property in properties)
        {
            Console.WriteLine($"{property.Name}: {property.GetValue(person)}");
        }
    }
}

Ce code affichera la sortie suivante :

FirstName: John
LastName: Doe
Age: 30

Explication:

  • person.GetType() : Cette méthode renvoie le type de l'objet person.
  • GetProperties() : Cette méthode renvoie un tableau de toutes les propriétés du type.
  • property.Name : Cette propriété renvoie le nom de la propriété.
  • property.GetValue(person) : Cette méthode renvoie la valeur de la propriété pour l'objet person.

Utilisation de la classe Type

La classe Type offre également des méthodes pour accéder aux propriétés d'un objet.

Voici un exemple de code qui utilise la classe Type pour obtenir toutes les propriétés d'un objet :

using System;
using System.Reflection;

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main(string[] args)
    {
        Person person = new Person { FirstName = "John", LastName = "Doe", Age = 30 };

        // Obtenir le type de l'objet Person
        Type personType = person.GetType();

        // Obtenir toutes les propriétés du type Person
        PropertyInfo[] properties = personType.GetProperties();

        // Afficher les noms et les valeurs des propriétés
        foreach (PropertyInfo property in properties)
        {
            Console.WriteLine($"{property.Name}: {property.GetValue(person)}");
        }
    }
}

Ce code produit la même sortie que l'exemple précédent.

Conclusion

La réflexion et la classe Type sont des outils puissants qui vous permettent d'obtenir toutes les propriétés d'un objet .NET. Choisissez la méthode qui correspond le mieux à vos besoins et à votre contexte. N'oubliez pas que la réflexion peut être coûteuse en termes de performances, il est donc recommandé de l'utiliser avec parcimonie.

Mots clés : .NET, propriétés, objet, réflexion, Type.

Featured Posts