就像Dynamic class method invocation in PHP分的问题,我想用DART做这件事.
var = "name";
page.${var} = value;
page.save();
这有可能吗?
就像Dynamic class method invocation in PHP分的问题,我想用DART做这件事.
var = "name";
page.${var} = value;
page.save();
这有可能吗?
有几件事你可以用Mirrors完成.
下面是一个如何设置类的值以及如何动态调用方法的示例:
import 'dart:mirrors';
class Page {
var name;
method() {
print('called!');
}
}
void main() {
var page = new Page();
var im = reflect(page);
// Set values.
im.setField("name", "some value").then((temp) => print(page.name));
// Call methods.
im.invoke("method", []);
}
如果您想知道,im
是InstanceMirror
,这基本上反映了page
实例.
还有一个问题:Is there a way to dynamically call a method or set an instance variable in a class in Dart?