如何从该方法中得到的方法叫什么名字

如何从该方法中得到的方法叫什么名字

本文介绍了如何从该方法中得到的方法叫什么名字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想创建一个函数,从方法中返回方法名:

 公共静态字符串getMethodName(最终诠释深度)
  {
    最后的StackTraceElement [] STE = Thread.currentThread()的getStackTrace()。
    回报STE [ste.length  -  1  - 深度] .getMethodName();
  }
 

然而,当我打电话从Activity.onCreate()这个方法,它会返回主,而不是的onCreate。

我如何从该方法中得到实际的方法名?

解决方案

 返回STE [1 +深度] .getMethodName();
 

如果您更改return语句如上,你会得到五言深度直接调用方法名,shoould为零。

I am trying to create a function that returns the method name from within that method:

  public static String getMethodName(final int depth)
  {
    final StackTraceElement[] ste = Thread.currentThread().getStackTrace();
    return ste[ste.length - 1 - depth].getMethodName();
  }

However, when I call this method from Activity.onCreate(), it returns "main" instead of "onCreate".

How do I get the actual method name from within that method?

解决方案
return ste[1+depth].getMethodName();

If you change return statement as above, you would get immediate calling method name , of cource depth shoould be zero..

这篇关于如何从该方法中得到的方法叫什么名字?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 18:31