2015-06-30 19 views
0

获取当前方法的名称及其参数(名称和值),例如在Javascript中:我如何在C#

function logger(args) { 
    console.log('Func "' + args.callee.name + '" invoked.'); 
    for (var arg in args) { 
    console.log(arg); //well I cannot get those arguments' name in js 
    } 
} 

function doSomething(x, y, z) { 
    logger(this.arguments); 
    //do something... 
} 

我怎样才能做到在C#中类似的东西吗?

其实,我正要在我的程序中实现一个Web服务记录器。对此有何建议?

感谢所有。

编辑:对不起,我没说清楚。我知道System.Reflection.MethodBase.GetCurrentMethod()可以让我调用者函数的MethodInfo,但参数的值是我所关心的更多。

+0

System.Reflection。了解它,对于像你这样的情况非常有用。 –

+0

什么是您的Web服务框架? WCF? –

+0

@NahumLitvin,我之前看过,但似乎无法获得参数**值**,或者我只是错过了一些东西? – Narcotics

回答

0

方法名称:

void logger([CallerMemberName] string methodName = "") { ... } 
当你调用 doSomething() logger()

methodName应该是'doSomething'

但没有办法获得参数。