Tôi muốn gọi một lệnh RCP trong mã, như thế này:lệnh RCP với lập luận đối tượng
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class);
handlerService.executeCommand(cmdID, null);
Với mã đáng kể hơn, tôi có thể gọi lệnh với một đối số chuỗi bằng cách lắp ráp một đối tượng Tham số sau đó xây dựng một ParameterizedCommand
v.v. Nhưng tham số chỉ cho phép giá trị chuỗi và không thể được phân lớp.
Điều tôi thực sự muốn làm là gọi lệnh bằng một đối tượng làm tham số. Tôi có thể làm cái này như thế nào?
Điều đó không hiệu quả. Tôi chỉ nhận được một "không thể được cast để java.lang.String" ngoại lệ nếu tôi cố gắng để thêm một đối tượng thay vì một String. – Chris
Tôi đã xem xét điều này, có vẻ như bạn cũng cần xác định một ParemeterValueConverter để chuyển đổi các đối tượng của bạn thành Strings và ngược lại. Tôi thấy rằng rất không thực tế, tbh. Bạn có thể thoát khỏi bằng cách sử dụng HandlerUtil.getCurrentSelection (sự kiện) cho một số tham số. –