2015-02-10 108 views
0

我期待根據XML文件中的String創建特定類型的ComponentECS:從類名稱動態創建特定對象

這可以用

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

做在我通過clazzNames列表循環應用。

但是,一旦參數構造函數發揮作用,這會變得非常複雜。特別是如果一切都存儲在XML文件中。

有沒有一個更清潔的方法,而不必提供包的信息,而不必擔心構造函數參數?

如果允許我使用適當的參數並且不需要該類的包信息,那麼我可以爲不同於XML的技術提供建議。

回答

0

編譯後,該包是類名的一部分。如果你不知道包裹,那麼你不知道班級名稱。如果在兩個不同的軟件包中有兩個具有相同「短名稱」的類,該怎麼辦?

如果有構造函數參數,那麼你的不能創建一個實例,而不爲他們傳遞值。