powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / найти метод рефлексией по враперу
7 сообщений из 7, страница 1 из 1
найти метод рефлексией по враперу
    #39348686
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть такой код

Код: java
1.
2.
3.
public class TaskImpl implements Task {
  ...
}



Код: java
1.
2.
3.
4.
5.
6.
public class Work {

  public void doWork(Task task) {
      ...
  }
}



и вот идея кода
Код: java
1.
2.
Task t = new TaskImpl();
String methodName = "doWork";



Вопрос такой

у меня

Код: java
1.
 new Work().getClass().getMethod("doWork",t);



метод не находит по враперу. а есть идеи как сделать так чтобы находил по враперу?
...
Рейтинг: 0 / 0
найти метод рефлексией по враперу
    #39348688
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты вообще о чем?
...
Рейтинг: 0 / 0
найти метод рефлексией по враперу
    #39348785
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DNShark,

А в Task есть метод doWork?
А то судя по вашему коду его нет :-)
Как можно найти, то чего нет?
...
Рейтинг: 0 / 0
найти метод рефлексией по враперу
    #39348789
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulDNShark,

А в Task есть метод doWork?
А то судя по вашему коду его нет :-)
Как можно найти, то чего нет?
Так он и не в Task ищет, а в Work. Он не знает точный тип параметра.
...
Рейтинг: 0 / 0
найти метод рефлексией по враперу
    #39348790
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DNSharkметод не находит по враперу. а есть идеи как сделать так чтобы находил по враперу?
Довольно странно что вы реализацию интерфейса называете враппером.

Вот тут аналогичный вопрос и два решения
http://stackoverflow.com/questions/3602413/using-reflection-to-get-a-method-method-parameters-of-interface-types-arent-fo
Перебором всех методов и сторонней реализацией

Через MethodHandle тоже, вроде, с наскока не работает.
...
Рейтинг: 0 / 0
найти метод рефлексией по враперу
    #39348791
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
найти метод рефлексией по враперу
    #39348980
DNShark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

ага спасибо большое, с врапером у меня там получается Task еще в ObjectProperty и на него листенер цепляется

t.addListener((observable, oldValue, newValue)

и значение приходит как Wrapper.

Там в решении получается

if (params[0].isInstance(newValue))

приходится протягивать сам интерфейс. Не хотелось бы.

В общем решил повесить антоцию на метод, и тогда посимпатичней получилось, и не нужно название метода текстом передавать. Ага спасибо большое всем отозвавшимся.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / найти метод рефлексией по враперу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]