在 Visual Studio 代码中,可以使用反射和调试符号来自动获取方法的参数名。以下是一种实现方法:
System.Reflection
命名空间下的 MethodBase
类获取当前方法的元数据。MethodBase.GetCurrentMethod()
方法获取当前方法的信息。MethodBase.GetParameters()
方法获取当前方法的参数列表。ParameterInfo.Name
属性获取每个参数的名称。以下是示例代码:
using System;
using System.Diagnostics;
using System.Reflection;
public class Program
{
public static void Main(string[] args)
{
var methodName = GetMethodName();
Console.WriteLine($"Current method name: {methodName}");
var parameters = GetMethodParameters();
Console.WriteLine("Current method parameters:");
foreach (var parameter in parameters)
{
Console.WriteLine($"{parameter.Name}: {parameter.ParameterType}");
}
}
private static string GetMethodName()
{
var stackTrace = new StackTrace();
var methodBase = stackTrace.GetFrame(1).GetMethod();
return methodBase.Name;
}
private static ParameterInfo[] GetMethodParameters()
{
var stackTrace = new StackTrace();
var methodBase = stackTrace.GetFrame(1).GetMethod();
return methodBase.GetParameters();
}
// Other methods in your code...
}
该代码示例中的 GetMethodName()
方法用于获取当前方法的名称,GetMethodParameters()
方法用于获取当前方法的参数列表。
注意:该方法只能获取到方法的参数名称,不能获取到具体的参数值。
领取专属 10元无门槛券
手把手带您无忧上云