C# Academy · Leçon

Comprendre la réflexion en C#

Utilisez la réflexion pour inspecter et manipuler des objets lors de l’exécution

Leçon 5 sur 510 étapes

Comprendre la réflexion en C# est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 5 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 5 leçons au total.

Introduction à la réflexion

Comprendre la réflexion en C#

Bienvenue dans la prochaine leçon ! Dans cette leçon, vous découvrirez la réflexion en C#, une fonctionnalité puissante qui vous permet d’examiner et d’utiliser les types et les objets lors de l’exécution. Commençons !

Comprendre la réflexion en C# — illustration 1

Qu’est-ce que la réflexion ?

La réflexion est la capacité d’un programme à examiner et à manipuler sa propre structure lors de l’exécution. Elle est couramment utilisée pour :

  • Accéder aux métadonnées sur les types, les méthodes et les propriétés.
  • Appeler dynamiquement des méthodes et accéder aux champs.
  • Créer des structures logicielles et des outils tels que des sérialiseurs et des outils de mappage objet-relationnel.

Point clé : La réflexion fait partie de l’espace de noms System.Reflection.

Accéder aux informations sur les types

Utilisez la classe Type pour accéder aux métadonnées d’un type. Exemple :

Astuce : Utilisez GetProperties, GetMethods et GetFields pour examiner les membres d’un type.

using System;

class SampleClass {
    public int Id { get; set; }
    public string Name { get; set; }
}

class Program {
    static void Main() {
        Type type = typeof(SampleClass);

        Console.WriteLine("Type Name: " + type.Name);
        Console.WriteLine("Properties:");
        foreach (var prop in type.GetProperties()) {
            Console.WriteLine("- " + prop.Name);
        }
    }
}

Créer dynamiquement des objets

Vous pouvez utiliser la réflexion pour créer dynamiquement des instances d’une classe. Exemple :

Point clé : Utilisez Activator.CreateInstance pour créer des objets lors de l’exécution.

using System;

class SampleClass {
    public string Name { get; set; }
}

class Program {
    static void Main() {
        Type type = typeof(SampleClass);
        object instance = Activator.CreateInstance(type);

        var property = type.GetProperty("Name");
        property.SetValue(instance, "Reflection Example");

        Console.WriteLine("Name: " + property.GetValue(instance));
    }
}

Appeler dynamiquement des méthodes

La réflexion vous permet d’appeler des méthodes lors de l’exécution sans les connaître au moment de la compilation. Exemple :

Astuce : Utilisez GetMethod et Invoke pour effectuer des appels de méthodes dynamiques.

using System;

class SampleClass {
    public void Greet(string name) {
        Console.WriteLine("Hello, " + name);
    }
}

class Program {
    static void Main() {
        Type type = typeof(SampleClass);
        object instance = Activator.CreateInstance(type);

        var method = type.GetMethod("Greet");
        method.Invoke(instance, new object[] { "World" });
    }
}

Utiliser les attributes

La réflexion peut servir à examiner les attributes personnalisés appliqués aux types, aux méthodes ou aux propriétés. Exemple :

Point clé : Utilisez GetCustomAttributes pour récupérer les informations sur les attributes.

using System;

[AttributeUsage(AttributeTargets.Class)]
class SampleAttribute : Attribute {
    public string Description { get; }
    public SampleAttribute(string description) {
        Description = description;
    }
}

[Sample("This is a sample class.")]
class SampleClass {}

class Program {
    static void Main() {
        Type type = typeof(SampleClass);
        var attributes = type.GetCustomAttributes(typeof(SampleAttribute), false);

        foreach (SampleAttribute attr in attributes) {
            Console.WriteLine("Description: " + attr.Description);
        }
    }
}

Exercice pratique

Créez un programme qui utilise la réflexion pour examiner une classe, répertorier ses méthodes et ses propriétés, puis appeler dynamiquement l’une de ses méthodes. Exemple :

using System;

class SampleClass {
    public int Add(int a, int b) {
        return a + b;
    }
}

class Program {
    static void Main() {
        Type type = typeof(SampleClass);
        Console.WriteLine("Methods:");
        foreach (var method in type.GetMethods()) {
            Console.WriteLine("- " + method.Name);
        }

        object instance = Activator.CreateInstance(type);
        var addMethod = type.GetMethod("Add");
        int result = (int)addMethod.Invoke(instance, new object[] { 5, 3 });

        Console.WriteLine("Result of Add: " + result);
    }
}

Bonnes pratiques pour utiliser la réflexion

Voici quelques bonnes pratiques :

  • Utilisez la réflexion avec modération, car elle peut avoir un impact sur les performances.
  • Mettez en cache les résultats de la réflexion pour améliorer l’efficacité des appels répétés.
  • Préférez les solutions à la compilation à la réflexion lorsque cela est possible.
  • Utilisez la réflexion dans les scénarios dynamiques, comme les modules d’extension et les structures logicielles.

Astuce : Associez la réflexion à des attributes personnalisés pour créer des applications flexibles et dynamiques.

Bravo !

Félicitations ! Vous avez appris à utiliser la réflexion pour examiner et manipuler les types lors de l’exécution en C#. Cette leçon conclut la catégorie « Fonctionnalités avancées de C# ». Poursuivons vers de nouvelles aventures de programmation !

Comprendre la réflexion en C# — illustration 10
Gratuit pour commencer

Apprends C# avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
93
Leçons
346

Questions Fréquemment Posées

La leçon « Comprendre la réflexion en C# » est-elle gratuite ?

Oui — le texte complet de « Comprendre la réflexion en C# » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 5 leçons au total.

Qu'est-ce que j'apprendrai dans « Comprendre la réflexion en C# » ?

Utilisez la réflexion pour inspecter et manipuler des objets lors de l’exécution Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C# Academy ?

Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 5 sur 5.

Combien de temps prend la leçon « Comprendre la réflexion en C# » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?

Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Types génériques en C#
  2. Async et await : manipuler le code asynchrone
  3. Comprendre les threads et les tâches
  4. Découvrir les délégués et les expressions lambda
  5. Comprendre la réflexion en C#
← Retour à C# Academy