2015-02-10 2 views
0

Я ищу для создания определенного типа Component на основе String в XML-файле.ECS: динамически создавать определенный объект из класса

Это может быть сделано с

clazzName = "NameComponent"; 
Class.forName("my.package.x.y.z." + clazzName).newInstance(); 

В приложении я обхвата по списку clazzNames.

Однако это становится довольно сложным после того, как парам-конструкторы вступают в игру. Особенно, если все хранится в файлах XML.

Есть ли более чистый метод без необходимости предоставлять информацию о пакете и не беспокоиться о аргументах конструктора?

Я открыт для предложений по различным технологиям, кроме XML, если это позволяет мне использовать надлежащие параметры и не нуждается в информации о пакете этого класса.

ответ

0

После компиляции пакет является частью имени класса. Если вы не знаете пакет, то вы не знаете имя класса. Что делать, если в двух разных пакетах есть два класса с одним и тем же «коротким именем»?

И если есть аргументы конструктора, то вы не можете создать экземпляр без передачи значений для них.

Смежные вопросы