在php中,您可以将方法定义的变量作为数组:
function test($a,$b){
print_r(
get_defined_vars()
);
}
在C#中可以吗?
答案 0 :(得分:3)
像...一样的东西。
string a = "hello";
int b = 20;
DateTime c = DateTime.Now;
foreach (LocalVariableInfo variable in MethodInfo.GetCurrentMethod().GetMethodBody().LocalVariables)
{
Console.WriteLine(variable);
}
答案 1 :(得分:2)
你可以使用反射。
如果您想以内联方式执行此操作,则首先需要确定当前所使用的方法。
var currentMethod = System.Reflection.MethodInfo.GetCurrentMethod();
然后您可以检索该方法的参数:
foreach(ParameterInfo parameter in currentMethod.GetParameters())
{
var name = parameter.Name;
//...
}