在执行方法之后,我希望设置当前选择的null。我已经走了这么远,但行不通。在此之后,selection仍然保存a值,它不是null。
@Inject
private ESelectionService selection;
@Execute
public void execute(@Named(IServiceConstants.ACTIVE_SELECTION) Foo foo, Shell shell) {
if (true) {
//do something!
final Object NULL_OBJECT = new Object();
selection.setSelection(NULL_OBJECT);
}
}发布于 2016-12-12 15:47:22
有多个选择服务,每个上下文一个(IEclipseContext)。您可能是在错误的上下文中设置所选内容。
将ESelectionService作为类中的一个字段进行注入可能意味着您得到了错误的服务。始终将其作为execute方法的参数注入。
... no field injection
@Execute
public void execute(ESelectionService selection, @Named(IServiceConstants.ACTIVE_SELECTION) Foo foo, Shell shell) {https://stackoverflow.com/questions/41104175
复制相似问题