Мне нужно преобразовать любой объект в связанный с ним EObject. Когда я пытаюсь это сделать, я получаю исключение ClassCastException. Мой вопрос: можно ли превратить объект в EObject, и если возможно, как я могу это сделать.
Спасибо
Мне нужно преобразовать любой объект в связанный с ним EObject. Когда я пытаюсь это сделать, я получаю исключение ClassCastException. Мой вопрос: можно ли превратить объект в EObject, и если возможно, как я могу это сделать.
Спасибо
EObjects — это интерфейсы, которые описывают соответствующие им объекты, но не относятся к ним того же типа. Вы не можете бросать их. И действительно, ты не хочешь. Поскольку EObjects и их потомки описывают модели, а не вашу реальную программу.
Если вы получаете это исключение, то рассматриваемый экземпляр не является EObject. Это означает, что вы пытаетесь сказать, что это EOjbect, хотя на самом деле это не так.
Вы же понимаете, что кастинг — это не процесс преобразования? Он не «делает» ваш объект EObject, он просто «раскрывает» его как один (если он один).
Ваше исключение на самом деле скажет вам, какой объект вы пытаетесь преобразовать в EObject (который вы должны были включить в свой вопрос, кстати).