本文翻译自:How to get the name of the current method from code [duplicate]

This question already has an answer here: 这个问题在这里已有答案:

  • Can you use reflection to find the name of the currently executing method? 你能用反射来找到当前正在执行的方法的名称吗? 14 answers 14个答案

I know you can do 我知道你能做到

this.GetType().FullName

To get 要得到

My.Current.Class

But what can I call to get 但是我能得到什么呢

My.Current.Class.CurrentMethod

#1楼

参考:https://stackoom.com/question/B81c/如何从代码中获取当前方法的名称-复制


#2楼

Does this not work? 这不起作用吗?

System.Reflection.MethodBase.GetCurrentMethod()

Returns a MethodBase object representing the currently executing method. 返回表示当前正在执行的方法的MethodBase对象。

Namespace: System.Reflection 命名空间:System.Reflection

Assembly: mscorlib (in mscorlib.dll) 汇编:mscorlib(在mscorlib.dll中)

http://msdn.microsoft.com/en-us/library/system.reflection.methodbase.getcurrentmethod.aspx http://msdn.microsoft.com/en-us/library/system.reflection.methodbase.getcurrentmethod.aspx


#3楼

Well System.Reflection.MethodBase.GetCurrentMethod().Name is not a very good choice 'cause it will just display the method name without additional information. 那么System.Reflection.MethodBase.GetCurrentMethod().Name不是一个很好的选择'因为它只显示方法名而没有附加信息。

Like for string MyMethod(string str) the above property will return just MyMethod which is hardly adequate. 就像string MyMethod(string str) ,上面的属性只返回MyMethod ,这几乎是不够的。

It is better to use System.Reflection.MethodBase.GetCurrentMethod().ToString() which will return the entire method signature... 最好使用System.Reflection.MethodBase.GetCurrentMethod().ToString()将返回整个方法签名...


#4楼

I think the best way to get the full name is: 我认为获得全名的最佳方式是:

 this.GetType().FullName + "." + System.Reflection.MethodBase.GetCurrentMethod().Name;

or try this 或试试这个

string method = string.Format("{0}.{1}", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name);

#5楼

看看这个: http : //www.codeproject.com/KB/dotnet/MethodName.aspx


#6楼

using System.Diagnostics;
...var st = new StackTrace();
var sf = st.GetFrame(0);var currentMethodName = sf.GetMethod();

Or, if you'd like to have a helper method: 或者,如果您想要一个帮助方法:

[MethodImpl(MethodImplOptions.NoInlining)]
public string GetCurrentMethod()
{var st = new StackTrace();var sf = st.GetFrame(1);return sf.GetMethod().Name;
}

Updated with credits to @stusmith. 更新了@stusmith的学分。

如何从代码中获取当前方法的名称[复制]相关推荐

  1. 在代码中获取ApplicationContext实例

    基于Spring的Java应用会通过ApplicationContext接口提供应用程序配置.我们常常需要在代码中获取当前的ApplicationContext.如在集成测试时,需要通过Applica ...

  2. 获取存储过程返回值及代码中获取返回值

    获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...

  3. 获取存储过程返回值及代码中获取返回值(转)

    获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...

  4. vue 给标签添加data属性_在Vue中获取自定义属性方法:data-id的实例

    获取自定义属性的方法: 第一步:首先在标签上绑定上@click="getDateId(item.id)",并将属性值传到绑定的事件里面 第二步:在标签上继续绑定:date-id = ...

  5. 安卓代码中获取dp值为控件设置宽高,获取dimen值

    引言: 今天遇到一个问题,在自定义控件的时候,要求在代码中设置控件的宽高.本来自以为:对嘛,很简单,就是直接设置params //这样直接初始化的时候设置LayoutParams iconparams ...

  6. php 国家地区码,有没有一种简单的方法可以从PHP的国家/地区代码中获取语言代码 - php...

    我正在使用ISO 3166-1-alpha 2代码传递给应用程序以检索本地供稿,例如/ feeds / us(美国).我有一个switch语句,该语句根据该country_code提供供稿. 有没有办 ...

  7. 如何在代码中获取Java应用当前的版本号?

    最近需要在项目中获取项目的版本号,最笨的方法莫过于硬编码一个版本号,当然我也是这么干的.不过闲下来的时候突发奇想Spring Boot项目中pom.xml定义的版本号能不能通过API获得呢?于是利用摸 ...

  8. 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )

    文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...

  9. 在C#代码中获取Silverlight的初始化initparams参数

    今天学习内容是,我们将利用Silverlight给我们提供的一个便利的方法来实现: 当一个web page加裁时,把指定参数(或信息)从 web page传递到silverlight中,这就是init ...

最新文章

  1. linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤
  2. 云炬随笔20171213
  3. 看看差距--完备技术面试
  4. eclipse手动添加SVN插件
  5. 字符设备驱动高级篇3——自动创建字符设备驱动的设备文件
  6. 计算机原理 逻辑单元,湘潭大学计算机原理 实验一 算术逻辑单元ALU实验报告
  7. pyotherside 试用
  8. php显示当前访问人数,PHP与jquery实时显示网站在线人数实例详解
  9. [USACO07FEB]银牛派对Silver Cow Party
  10. BZOJ1044: [HAOI2008]木棍分割(dp 单调队列)
  11. 从零开始学ios开发(三):第一个有交互的app
  12. 怎么注册tk域名_全面剖析tk免费域名注册
  13. 史上最新最全的ADB命令行
  14. 后端学习 Java Web 上半部分(MySQL~RequestResponse)
  15. 【Android -- 技术周刊】第 006 期
  16. 华为机试真题 Java 实现【不含 101 的数】【2022.11 Q4新题】
  17. 如何删除PDF水印?PDF删除水印怎么操作
  18. 聚类分析的评价指标(性能度量)
  19. 【解决方案】MQTT 强劲代理服务 EMQX 安装报Unable to load emulator DLL错误
  20. 个网工获得CCNP认证后的成功求职记

热门文章

  1. 如果你需要对对话框上的一个按钮进行鼠标停靠提示
  2. 有道云笔记 网络连接失败
  3. 【Android】ADT中使用NDK编译已有的C++实现的库文件
  4. Android的EditText自动获取焦点并弹出输入法问题
  5. asp.net 窗体关闭事件_VBA代码将强制执行:你的窗体上必须显示最大、最小化按钮...
  6. Android之四大组件概念讲解
  7. ThreadLocal内存泄漏问题
  8. (005)RN开发 js jsx ts tsx的区别
  9. JavaScript中函数文档注释
  10. hibernate之Configuration对象