C#中如何获取当前正在执行的代码所在的函数(方法)的名字和参数等信息

C#中如何获取当前正在执行的代码所在的函数(方法)的名字和参数等信息,第1张

public static string GetMethodName()\x0d\{\x0d\ var method = new StackFrame(1)GetMethod(); // 这里忽略1层堆栈,也就忽略了当前方法GetMethodName,这样拿到的就正好是外部调用GetMethodName的方法信息\x0d\ var property = (\x0d\ from p in methodDeclaringTypeGetProperties(\x0d\ BindingFlagsInstance |\x0d\ BindingFlagsStatic |\x0d\ BindingFlagsPublic |\x0d\ BindingFlagsNonPublic)\x0d\ where pGetGetMethod(true) == method || pGetSetMethod(true) == method\x0d\ select p)FirstOrDefault();\x0d\ return property == null methodName : propertyName;\x0d\}

argumentscallee 为指向自己的函数,可想相面这样实现递归的软编码,楼上说的ie不支持是ie不支持函数的name属性

function recursion() {

    aurumentscallee();

}

但是在 ES5 严格模式中这种方式不再被支持

[javascript] view plain copy

function getFuncName(_callee)

{

var _text = _calleetoString();

var _scriptArr = documentscripts;

for (var i=0; i<_scriptArrlength; i++)

{

var _start = _scriptArr[i]textindexOf(_text);

if (_start != -1)

{

if (/^function\s\r\n/test(_text))

{

var _tempArr = _scriptArr[i]textsubstr(0, _start)split('\r\n');

return _tempArr[_tempArrlength - 1]replace(/(var)|(\s)/g, '')replace(/=/g, '');

以上就是关于C#中如何获取当前正在执行的代码所在的函数(方法)的名字和参数等信息全部的内容,包括:C#中如何获取当前正在执行的代码所在的函数(方法)的名字和参数等信息、javascript中,用什么方法能够在本函数内部获取到自己的函数名、如何在js函数内部得到本函数的名字等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9725154.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存