C# определенные переменные в методе в виде списка - это возможно?
В php вы можете получить переменные, определенные методом, в виде массива:
function test($a,$b){
print_r(
get_defined_vars()
);
}
Возможно ли это в C#?
2 ответа
Решение
Вы можете использовать отражение для этого.
Если вы хотите сделать это встроенным, то сначала вам нужно определить метод, в котором вы находитесь в данный момент.
var currentMethod = System.Reflection.MethodInfo.GetCurrentMethod();
Затем вы можете получить параметры этого метода:
foreach(ParameterInfo parameter in currentMethod.GetParameters())
{
var name = parameter.Name;
//...
}
Что-то вроде...
string a = "hello";
int b = 20;
DateTime c = DateTime.Now;
foreach (LocalVariableInfo variable in MethodInfo.GetCurrentMethod().GetMethodBody().LocalVariables)
{
Console.WriteLine(variable);
}