Appelez la méthode générique lorsque les paramètres de type sont déterminés lors de l'exécution.
De nombreux types d'applications sont traités avant le type inconnu avant l'exécution. Dans ce cas, l'utilisation de paramètres de type obtenue dynamiquement pour appeler la méthode générique est très importante. Cet article traite des meilleures pratiques pour réaliser cette tâche. En supposant la scène suivante: Dans la méthode
, nous devons utiliserappeler la méthode générique
dans la variable Example()
. La méthode d'appel myType
directement n'est pas possible. Type
GenericMethod<T>()
Afin d'appeler la méthode générique avec des paramètres de type dynamique, nous utilisons la réflexion. Tout d'abord, nous utilisons les métadonnées de la méthode d'acquisition . Ensuite, nous utilisons la méthode générique de construction GenericMethod<myType>()
en fournissant des paramètres de type appropriés. Enfin, nous utilisons le appeler la méthode générique.
GetMethod()
Si la méthode générique est statique, nous passons MakeGenericMethod()
comme premier paramètre à Invoke()
. Cette étape n'a rien à voir avec les méthodes génériques, qui est une pratique de réflexion générale.
MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.GenericMethod)); MethodInfo generic = method.MakeGenericMethod(myType); generic.Invoke(this, null);
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!