我在C#中编写了这样的方法.
MethodBase method = MethodBase.GetCurrentMethod();
string key ="";
for (int i = 0; i < method.GetParameters().Length; i++)
{
key=method.GetParameters().Name;
// need value of parameter here
}
Run Code Online (Sandbox Code Playgroud)
我通过上面的代码获取参数名称.我的问题是:如何获取我方法中的参数值?
您不能 - 至少不使用调试器API(至少是非平凡的).该信息无法通过反射获得.特别是,MethodBase您正在获取的对象可能在每次调用时都是相同的.
(我认为你写的方法并不像你所展示的那样,我真的希望你不要GetParameters在这样的循环中调用,但这是一个副作用.)