c# - 如何获得方法参数的名称?

标签 c# .net reflection

如果我有这样的方法:

public void MyMethod(int arg1, string arg2)

我将如何获取参数的实际名称? 我似乎无法在 MethodInfo 中找到任何实际上会给我参数名称的内容。

我想写一个这样的方法:

public static string GetParamName(MethodInfo method, int index)

所以如果我调用这个方法:

string name = GetParamName(MyMethod, 0)

它将返回“arg1”。这可能吗?

最佳答案

public static string GetParamName(System.Reflection.MethodInfo method, int index)
{
    string retVal = string.Empty;

    if (method != null && method.GetParameters().Length > index)
        retVal = method.GetParameters()[index].Name;


    return retVal;
}

上面的示例应该可以满足您的需求。

关于c# - 如何获得方法参数的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/214086/

相关文章:

c# - 是否所有的局部变量都入栈

c# - 如何使应用程序设置独立于 .exe 路径?

.net - .NET中有向图或无向图的布局有哪些可用选项?

c# - 我的 .Net 套接字处理程序丢失数据包

MySQL 存储过程 - 将 SELECT 作为参数传递

c# - 使用字符串动态创建 (LLBLGen) Linq 查询

c# - 如何在 Asp.Net Core 1.0.0 中本地化显示属性?

c# - 将 .net Framework 项目与 .net Core 项目(和语言)混合 - System.IO.FileNotFoundException

c# - 如果 GetFields() 不能保证顺序,LayoutKind.Sequential 如何工作

java - 使用 Map 填充 Java 对象