可以在Dart中将类类型作为变量传递?
我想做的事情如下:
class Dodo
{
void hello() {
print("hello dodo");
}
}
void main() {
var a = Dodo;
var b = new a();
b.hello();
}
Run Code Online (Sandbox Code Playgroud)
在python类似的代码将工作得很好.在Dart中,我new a()抱怨错误,这a不是一种类型.
可以使用类对象作为变量吗?如果没有,推荐的工作是什么?
Ala*_*ght 17
另一种方法是通过传递闭包而不是类.然后你可以避免使用镜子.例如
a = () => new Dodo();
...
var dodo = a();
Run Code Online (Sandbox Code Playgroud)
您可以使用镜像 API:
import 'dart:mirrors';
class Dodo {
void hello() {
print("hello dodo");
}
}
void main() {
var dodo = reflectClass(Dodo);
var b = dodo.newInstance(new Symbol(''), []).reflectee;
b.hello();
}
Run Code Online (Sandbox Code Playgroud)
也许可以写得更紧凑一些,尤其是new Symbol('') 表达。
| 归档时间: |
|
| 查看次数: |
3557 次 |
| 最近记录: |