如何从代码中获取当前方法的名称[复制]
本文翻译自: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的学分。
如何从代码中获取当前方法的名称[复制]相关推荐
- 在代码中获取ApplicationContext实例
基于Spring的Java应用会通过ApplicationContext接口提供应用程序配置.我们常常需要在代码中获取当前的ApplicationContext.如在集成测试时,需要通过Applica ...
- 获取存储过程返回值及代码中获取返回值
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- 获取存储过程返回值及代码中获取返回值(转)
获取存储过程返回值及代码中获取返回值 1.OUPUT参数返回值例: 向Order表插入一条记录,返回其标识 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_b ...
- vue 给标签添加data属性_在Vue中获取自定义属性方法:data-id的实例
获取自定义属性的方法: 第一步:首先在标签上绑定上@click="getDateId(item.id)",并将属性值传到绑定的事件里面 第二步:在标签上继续绑定:date-id = ...
- 安卓代码中获取dp值为控件设置宽高,获取dimen值
引言: 今天遇到一个问题,在自定义控件的时候,要求在代码中设置控件的宽高.本来自以为:对嘛,很简单,就是直接设置params //这样直接初始化的时候设置LayoutParams iconparams ...
- php 国家地区码,有没有一种简单的方法可以从PHP的国家/地区代码中获取语言代码 - php...
我正在使用ISO 3166-1-alpha 2代码传递给应用程序以检索本地供稿,例如/ feeds / us(美国).我有一个switch语句,该语句根据该country_code提供供稿. 有没有办 ...
- 如何在代码中获取Java应用当前的版本号?
最近需要在项目中获取项目的版本号,最笨的方法莫过于硬编码一个版本号,当然我也是这么干的.不过闲下来的时候突发奇想Spring Boot项目中pom.xml定义的版本号能不能通过API获得呢?于是利用摸 ...
- 【Android NDK 开发】在 C 代码中获取 Android 系统信息 ( NDK 项目创建 | NDK 配置 | 获取 Android 系统版本号 )
文章目录 I . 创建 NDK 项目 II . NDK 项目 相关配置 III . NDK 中获取 Android 版本号 IV . 使用 __system_property_get 可获取的参数 I ...
- 在C#代码中获取Silverlight的初始化initparams参数
今天学习内容是,我们将利用Silverlight给我们提供的一个便利的方法来实现: 当一个web page加裁时,把指定参数(或信息)从 web page传递到silverlight中,这就是init ...
最新文章
- linux机器启动pg数据库命令,Linux下创建Postgresql数据库的方法步骤
- 云炬随笔20171213
- 看看差距--完备技术面试
- eclipse手动添加SVN插件
- 字符设备驱动高级篇3——自动创建字符设备驱动的设备文件
- 计算机原理 逻辑单元,湘潭大学计算机原理 实验一 算术逻辑单元ALU实验报告
- pyotherside 试用
- php显示当前访问人数,PHP与jquery实时显示网站在线人数实例详解
- [USACO07FEB]银牛派对Silver Cow Party
- BZOJ1044: [HAOI2008]木棍分割(dp 单调队列)
- 从零开始学ios开发(三):第一个有交互的app
- 怎么注册tk域名_全面剖析tk免费域名注册
- 史上最新最全的ADB命令行
- 后端学习 Java Web 上半部分(MySQL~RequestResponse)
- 【Android -- 技术周刊】第 006 期
- 华为机试真题 Java 实现【不含 101 的数】【2022.11 Q4新题】
- 如何删除PDF水印?PDF删除水印怎么操作
- 聚类分析的评价指标(性能度量)
- 【解决方案】MQTT 强劲代理服务 EMQX 安装报Unable to load emulator DLL错误
- 个网工获得CCNP认证后的成功求职记
热门文章
- 如果你需要对对话框上的一个按钮进行鼠标停靠提示
- 有道云笔记 网络连接失败
- 【Android】ADT中使用NDK编译已有的C++实现的库文件
- Android的EditText自动获取焦点并弹出输入法问题
- asp.net 窗体关闭事件_VBA代码将强制执行:你的窗体上必须显示最大、最小化按钮...
- Android之四大组件概念讲解
- ThreadLocal内存泄漏问题
- (005)RN开发 js jsx ts tsx的区别
- JavaScript中函数文档注释
- hibernate之Configuration对象