带对象参数的RCP命令

TL *_*man 6 rcp eclipse-rcp

我想在代码中调用RCP命令,如下所示:

IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class);
    handlerService.executeCommand(cmdID, null);
Run Code Online (Sandbox Code Playgroud)

使用相当多的代码,我可以通过组装一个参数化对象然后构建一个ParameterizedCommand等等来调用带有字符串参数的命令,但是Paramaterization只允许字符串值,并且不能被子类化.

我真正想要做的是使用对象作为参数调用该命令.我怎样才能做到这一点?

Pra*_* R. 2

使用ParameterizedCommand.generateCommand()。您可以传递命令对象(从 获取ICommandService)和映射中的参数。

  • 那是行不通的。如果我尝试添加对象而不是字符串,我只会收到“无法转换为 java.lang.String”异常。 (2认同)