53 votes

Puis-je obtenir la signature d'un délégué C # par son type?

Existe-t-il un moyen simple d’utiliser la réflexion pour accéder à la liste de paramètres d’un délégué si vous disposez de ses informations de type?

Par exemple, si je déclare un type de délégué comme suit

 delegate double FooDelegate (string param, bool condition);
 

et plus tard obtenir les informations de type pour ce type de délégué comme suit

 Type delegateType = typeof(FooDelegate);
 

Est-il possible de récupérer le type de retour (double) et la liste de paramètres ({string, bool}) à partir de cet objet type info?

96voto

Marc Gravell Points 482669
    MethodInfo method = delegateType.GetMethod("Invoke");
    Console.WriteLine(method.ReturnType.Name + " (ret)");
    foreach (ParameterInfo param in method.GetParameters()) { 
        Console.WriteLine("{0} {1}", param.ParameterType.Name, param.Name);
    }

0voto

BraveNewMath Points 1306

essaye ça

 method.GetMethodInfo().Name
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X