Réflexion
Les classes de l'espace de noms System.Reflection, ainsi que System.Type, vous permettent d'obtenir des informations sur les assemblys chargés et les types définis dans ces derniers, par exemple les classes, interfaces et types valeur. Vous pouvez également utiliser la réflexion pour créer des instances de type au moment de l'exécution, les appeler et y accéder.
Dans cette section
- Vue d'ensemble de la réflexion
Décrit la réflexion et ses utilisations principales.
- Comment : charger des assemblys dans le contexte de réflexion uniquement
Décrit le contexte de chargement de réflexion uniquement. Indique comment charger un assembly, tester le contexte et examiner des attributs appliqués à un assembly dans le contexte de réflexion uniquement.
- Types au moment de l'exécution dans la réflexion
Décrit les types internes, tels que RuntimeType, qui héritent des classes abstraites dans l'espace de noms System.Reflection et fournissent la majeure partie de leur implémentation.
- Affichage des informations de type
Décrit la classe System.Type et fournit des exemples de code illustrant l'utilisation de System.Type avec plusieurs classes Reflection pour obtenir des informations sur les constructeurs, méthodes, champs, propriétés et événements.
- Réflexion et types génériques
Explique comment la réflexion gère les paramètres et arguments de type des types et méthodes génériques.
- Modèles de design utilisés par les classes Reflection
Fournit un tableau illustrant le modèle d'affectation de noms aux méthodes et l'utilisation des classes Reflection les plus fréquentes, notamment Module, Type et MemberInfo.
- Considérations sur la sécurité de la réflexion
Décrit les règles qui déterminent la limite d'utilisation de la réflexion pour la découverte des informations de type et l'accès aux types.
- Chargement et utilisation dynamiques des types
Décrit l'interface de liaison personnalisée de réflexion prenant en charge la liaison tardive.
- Accès aux membres par défaut
Montre comment utiliser la réflexion pour accéder aux membres par défaut d'une classe.
- Accès aux valeurs par défaut des arguments
Montre comment utiliser la réflexion pour accéder aux arguments dotés de valeurs par défaut, et comment appeler les méthodes comportant des arguments dotés de valeurs par défaut.
- Accès aux attributs personnalisés
Montre comment utiliser la réflexion pour déterminer l'existence et les valeurs des attributs.
- Spécification des noms de types qualifiés complets
Décrit le format des noms de types qualifiés complets sous la forme Backus-Naur (BNF), et la syntaxe requise pour spécifier les caractères spéciaux, les noms d'assemblys, les pointeurs, les références et les tableaux.
- API de réflexion non managée
Explique où trouver des informations sur l'utilisation de la réflexion non managée pour l'examen de métadonnées.
- Comment : raccorder un délégué à l'aide de la réflexion
Explique comment créer un délégué pour une méthode et connecter le délégué à un événement. Explique comment créer une méthode de gestion d'événements au moment de l'exécution à l'aide de DynamicMethod.
Référence
- Type
Classe qui représente les types dans le système de types du runtime et fournit les fonctionnalités principales de la réflexion.
- System.Reflection
Espace de noms qui contient d'autres abstractions pour des entités de code, telles que la classe MethodInfo qui représente des méthodes.
- System.Reflection.Emit
Espace de noms qui contient des classes destinées à la génération d'assemblys et de méthodes dynamiques.
Rubriques connexes
- Émission d'assemblys et de méthodes dynamiques
Explique comment générer des assemblys et méthodes dynamiques.