2013-05-10 56 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

回答

相关问题