如果您有委托(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/