c# - 我可以通过类型获取 C# 委托(delegate)的签名吗?

标签 c# reflection delegates

如果您有委托(delegate)的类型信息,是否有使用反射获取委托(delegate)参数列表的直接方法?

举个例子,如果我声明一个委托(delegate)类型如下

delegate double FooDelegate (string param, bool condition);

然后按如下方式获取该委托(delegate)类型的类型信息

Type delegateType = typeof(FooDelegate);

是否可以从该类型信息对象中检索返回类型 (double) 和参数列表 ({string, bool})?

最佳答案

    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);
    }

关于c# - 我可以通过类型获取 C# 委托(delegate)的签名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/429552/

相关文章:

c# - 如果类具有结构变量,该类将存储在哪里?

c# - AWS Lambda 中的空白环境变量

ios - 在显示 ViewController 之前热加载@IBOutlet?

c# - 如何在 C# 中正确释放匿名委托(delegate)/闭包?

c# - 声明成员变量并初始化而不重复类型

c# - 如何使用 Facebook API 发送邀请请求?

reflection - 在 Io 语言中,你怎么能看到 "if"的实现?

c# - 为什么在 .NET 中转换比反射快?

java - 从类对象指定java中的泛型类型

C# 检查文件夹避免阻塞 UI