gpt4 book ai didi

java - GWT:使用 JSNI 的 native 方法:如何动态调用方法

转载 作者:行者123 更新时间:2023-11-30 07:17:02 25 4
gpt4 key购买 nike

我正在使用 GWT,我创建了一个调用类 EverlinkedActions 中的方法 cmd_addspace 的 native 方法,它现在工作正常:

private static native String execute(String functionName,  Object[] vParams)/*-{
try{
@es.gwt.client.dash.actions.impl.EverlinkedActions::cmd_addspace([Ljava/lanG/Object;)(vParams);
}catch(e){
alert(e.message);
}

}-*/;

如何使方法名称动态化?这意味着我想调用方法“functionName”而不是“cmd_addspace”,它的名称在 native 方法中作为参数传递。

他们是否是一种使类名也动态的方法?我想要这样的东西:

private static native String execute(String className, String functionName,  Object[] vParams)/*-{
try{
@es.gwt.client.dash.actions.impl.className::functionName([Ljava/lanG/Object;)(vParams);
}catch(e){
alert(e.message);
}

}-*/;

感谢您的帮助

最佳答案

不确定您要在这里实际实现什么,但恐怕 JSNI 不会那样工作。

代码如 @es.gwt.client.dash.actions.impl.EverlinkedActions::cmd_addspace([Ljava/lanG/Object;)(vParams); 需要是一个完全可解析的符号在编译时因为类和方法名称被替换为它们的最小化版本。

关于java - GWT:使用 JSNI 的 native 方法:如何动态调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16463432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com