Как получить полное имя (fully qualified name) статического метода?

Как можно модифицировать метод NameOf для получения полного имени статического метода, чтобы вместо ClassAMethodA возвращалась строка "ClassA.MethodA"?
  • 19 декабря 2023 г. 6:07
Ответы на вопрос 2
Чтобы получить полное имя (fully qualified name) статического метода, вам необходимо использовать рефлексию. Вот пример метода, который возвращает полное имя статического метода:

``` java
public static String getStaticMethodName(Class<?> clazz, String methodName) {
    Method method = null;
    try {
        method = clazz.getMethod(methodName);
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    }
    String className = clazz.getName();
    return className + "." + method.getName();
}
```

Вы можете использовать этот метод, передавая класс и имя статического метода:

``` java
String methodName = getStaticMethodName(ClassA.class, "methodA");
System.out.println(methodName); // Выводит "ClassA.methodA"
```

Важно отметить, что имя класса будет содержать полное имя класса, включая пакеты, разделенные точками.
Посмотри на свойство DeclaringType у Member . 
Там можно получить название класса.

Похожие вопросы