2013-01-11 53 views
1

什么是通过使用GWT进行反射来调用方法的最佳方式,我知道有一些像“GWT Reflection”这样的框架,但我真的很想听到关于此的一些反馈。 如何转换这样的事情最好的办法:什么是在GWT中通过Reflection调用方法的最佳方式

GreetingServiceAsync service = GWT.create(GreetingService.class); 
AsyncCallback callBack = new AsyncCallback< Void>() { 
      @Override 
      public void onFailure(Throwable caught) {    
      } 
      @Override 
      public void onSuccess(Void result) {    
      } 
     };  
service.doSomething(callBack); 

in: 
GreetingServiceAsync greetingService = GWT.create(GreetingService.class); 

String methodName = “doSomething”; 
Object service; 
AsyncCallback callBack = new AsyncCallback< Void>() { 
      @Override 
      public void onFailure(Throwable caught) {    
      } 
      @Override 
      public void onSuccess(Void result) {    
      } 
     }; 

/*somehow invoke by reflection*/ 
Class<?> c = Class.forName(GreetingServiceAsync.class.getName()); 
Method method = c.getMethod(methodName, AsyncCallback.class); 
method.invoke (service, callBack); 

非常感谢, 路易斯。

+0

请发布更新,无论您是否能够解决问题。如果通过选择答案或发布自己的答案来解决问题,这是一个很好的做法。 – SSR

回答

2

Javascript 101 - 没有反射的概念。 GWT Java转换为JavaScript。所以gwt不提供反射支持。在其主页上指出gwt反射的其他每个图书馆都只是针对角落功能并错误地陈述其功能。

相关问题