2013-05-10 114 views
3

我有許多相同基類型的對象。我想構建一個通用函數來創建它們。代碼示例:是否有可能從動態var實例化一個類?

class Grid extends Display { .... 
class Start extends Display { .... 

class MainClass { 
    Grid grid; 
    Start start; 
    .... 
} 

在MainClass方法,而不是這樣的:

start = new Start(); 
start.load(PATH); 

grid = new Grid(); 
grid.load(PATH); 

.... 

我願做這樣的事情:

void _newDisplay(dynamicType, Display display) { 
    display = new dynamicType(); 
    display.load(PATH);   
} 

_newDisplay(Start, start); 
_newDisplay(Grid, grid); 

.... 

我讀http://www.dartlang.org/articles/optional-types/但沒有準確地找到我想要的。

我還發現Instantiate a class from a string,但有一條評論說:「注意:編譯爲JavaScript時可能不起作用,dart2js編譯器尚未完全支持鏡像。」這個「鏡像」解決方案是唯一可用於動態實例化的解決方案嗎?

+0

回覆:鏡子和dart2js。我們打算用dart2js來支持鏡像,我們正在努力,但還不是100%。敬請關注! – 2013-05-11 04:52:48

回答

相關問題