Maison > développement back-end > C++ > Comment puis-je invoquer des méthodes génériques avec des variables de type résolu dynamiquement en C #?

Comment puis-je invoquer des méthodes génériques avec des variables de type résolu dynamiquement en C #?

Linda Hamilton
Libérer: 2025-02-03 08:15:10
original
916 Les gens l'ont consulté

How Can I Invoke Generic Methods with Dynamically Resolved Type Variables in C#?

en utilisant un type dynamique de la variable de type C # Méthode de génération

Lorsque vous utilisez la méthode générique, vous rencontrez souvent le type de paramètres lors de la compilation, mais déterminez dynamiquement le paramètre de type pendant l'exécution. Reflex fournit une solution puissante pour faire face à ce défi.

La solution de génétiquement génétiquement génétique

Pour utiliser le type stocké dans les variables myType pour appeler la méthode générique génériqueMedhod

, vous pouvez utiliser les méthodes suivantes:

    Méthodinfo Utilisation de la méthode de réflexion:
  1. MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.GenericMethod));
    Copier après la connexion
  2. Fournir des paramètres de type pour construire des méthodes génériques:
  3. MethodInfo generic = method.MakeGenericMethod(myType);
    Copier après la connexion
    Copier après la connexion
  4. Appelez la méthode générique du constructeur:
  5. generic.Invoke(this, null);
    Copier après la connexion
  6. Méthode statique Solution statiquetod

pour appeler la méthode générique statique staticMethod

, veuillez suivre les étapes similaires:

    Méthodinfo pour obtenir des méthodes génériques statiques:
  1. MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.StaticMethod));
    Copier après la connexion
  2. Utiliser le type de paramètre Construire une méthode générique:
  3. MethodInfo generic = method.MakeGenericMethod(myType);
    Copier après la connexion
    Copier après la connexion
  4. Appelez la méthode générique du constructeur.
  5. generic.Invoke(null, null);
    Copier après la connexion
    C # 4 et Mots-clés dynamiques apportés par Simplified
Bien que la réflexion fournit une solution puissante pour appeler la méthode générique, elle peut impliquer beaucoup de code modèle. Cependant, à partir de C # 4, vous pouvez utiliser des mots clés dynamiques pour simplifier ce processus. Si l'inférence du type est disponible, l'utilisation de dynamique peut réduire considérablement le code requis.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal