Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 是否可以从动态变量实例化一个类?_Dart_Dart Mirrors - Fatal编程技术网

Dart 是否可以从动态变量实例化一个类?

Dart 是否可以从动态变量实例化一个类?,dart,dart-mirrors,Dart,Dart Mirrors,我有许多相同基本类型的对象。我想构建一个通用函数来创建它们。代码示例: 类网格扩展显示{。。。。 类开始扩展显示{。。。。 类主类{ 网格; 启动; .... } 在MainClass方法中,而不是此方法: start=newstart(); 开始加载(路径); 网格=新网格(); 网格加载(路径); .... 我想这样做: void\u newDisplay(动态类型,显示){ display=新的dynamicType(); 显示。加载(路径); } _新建显示(开始,开始); _新显

我有许多相同基本类型的对象。我想构建一个通用函数来创建它们。代码示例:

类网格扩展显示{。。。。
类开始扩展显示{。。。。
类主类{
网格;
启动;
....
}
在MainClass方法中,而不是此方法:

start=newstart();
开始加载(路径);
网格=新网格();
网格加载(路径);
.... 
我想这样做:

void\u newDisplay(动态类型,显示){
display=新的dynamicType();
显示。加载(路径);
}
_新建显示(开始,开始);
_新显示(网格,网格);
....
我读了,但没有找到我想要的


我还发现,但有一条评论说:“注意:当编译为JavaScript时,这可能不起作用。dart2js编译器还不完全支持镜像。”。这是“镜像”吗解决方案是唯一可以进行动态实例化的解决方案?

Dart不支持直接进行此操作。通常我们通过提供一个闭包来为我们实例化类型来解决此问题:

void\u newDisplay(动态类型,显示){
display=dynamicType();
显示。加载(路径);
}
_新建显示(()=>Start(),Start);
_新建显示(()=>Grid(),Grid);

另请参见

re:mirrors和dart2js。我们打算用dart2js支持mirrors,我们正在努力,但还不是100%。请继续关注!