Я пишу метод Java со следующей подписью.
void Logger (Метод метода, Object [] args);
Если метод (например, ABC ()) вызывает этот метод Logger, он должен извлечь объект Method, который инкапсулирует данные о себе (ABC ()), и передать его в качестве аргумента.
Как метод может получить объект Method, в котором хранится вся информация об этом методе?
Простой способ - я использую
Method [] method = ExampleClass.Class.getMethods ();
и найдите во всем массиве метод с правильным именем. (Что довольно неэффективно). Кроме того, если два или более методов имеют одинаковые имена, мне придется также извлекать их типы параметров (чтобы различать их) и иметь разные коды для каждого метода. Это было бы неэффективно и болезненно.
Есть ли лучший способ?
Спасибо за помощь.