Lorsqu'ils traitent des méthodes non statiques, les développeurs peuvent facilement utiliser la réflexion pour créer des instances de classes et appeler leurs méthodes. Cependant, lorsque les méthodes sont statiques, l'approche nécessite une modification.
Dans ce scénario, nous visons à invoquer toutes les méthodes « Run » à partir de classes statiques dans l'espace de noms « mySolution.Macros » en utilisant la réflexion.
La clé ici est de se rappeler que pour les méthodes statiques, le premier argument de MethodInfo.Invoke peut être ignoré. Par conséquent, lors de l'itération dans les classes statiques, nous pouvons simplement appeler tempClass.GetMethod("Run").Invoke(null, null); pour exécuter les méthodes souhaitées.
Pour garantir que nous appelons uniquement des méthodes statiques, nous pouvons ajouter BindingFlags.Static à l'appel GetMethod, comme indiqué ci-dessous :
tempClass.GetMethod("Run", BindingFlags.Public | BindingFlags.Static).Invoke(null, null);
En suivant cette approche , les développeurs peuvent appeler efficacement des méthodes statiques à partir de classes dans des espaces de noms spécifiés, offrant ainsi flexibilité et contrôle sur l'exécution des méthodes.
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!