Я создал настраиваемый блок, который, помимо прочего, сообщает ресурсу, входящему в portIn блока, перейти в блок захвата ресурса. Я использую блок moveTo с целевым узлом как: (Node)((Cart)agent).getServicedEntity().getNetworkNode();
, но мне нужно знать тип агента и передать его в метод. Я хотел бы сделать этот блок c общим, который можно использовать в других моделях и с любой единицей ресурсов.
Я пробовал использовать общие c параметры в настраиваемом блоке
, затем выберите тип агента:
и затем попробуйте: (Node)T.getServicedEntity().getNetworkNode();
но это приводит к ошибке компиляции: Метод getServicedEntity () не определен для типа T. Есть ли способ сделать то, что я хочу сделать? Я в порядке, если пользователь должен выбрать тип агента с помощью раскрывающегося списка параметров generi c, но я бы хотел избежать необходимости каждый раз изменять код для добавления всех типов ресурсов, доступных в модели, с помощью instanceof , а затем скопируйте код. Кажется неэффективным.