c#将方法中的变量定义为列表——这是可能的吗?

本文关键字:方法 变量 定义 列表 | 更新日期: 2023-09-27 18:09:27

在php中,您可以将方法定义的变量作为数组:

function test($a,$b){
  print_r(
       get_defined_vars()
  );
}

在c#中是可能的吗?

c#将方法中的变量定义为列表——这是可能的吗?

像是…

string a = "hello";
int b = 20;
DateTime c = DateTime.Now;
foreach (LocalVariableInfo variable in MethodInfo.GetCurrentMethod().GetMethodBody().LocalVariables)
{
    Console.WriteLine(variable);
}

您可以使用反射。

如果你想内联执行,那么你首先需要确定你当前所在的方法。

var currentMethod = System.Reflection.MethodInfo.GetCurrentMethod();

然后您可以检索该方法的参数:

foreach(ParameterInfo parameter in currentMethod.GetParameters())
{
    var name = parameter.Name;
    //...
}