例如,我有一个像这样的变量。
var fooBar = 12;
我想要Dart lang中的类似内容。
print_var_name(fooBar);
打印:
fooBar
我该如何实现?这有可能吗?
谢谢。
答案 0 :(得分:0)
在Dart中,Web或Flutter都没有这种东西。
反射可以做到这一点,但是仅在服务器VM中支持反射,因为它会造成摇晃。
您需要为此手动编写代码,或在需要时使用代码生成。
示例
class SomeClass {
String foo = 'abc';
int bar = 12;
dynamic operator [](String name) {
switch(name) {
case 'foo': return foo;
case 'bar': return bar;
default: throw 'no such property: "$name";
}
}
}
main() {
var some = SomeClass();
print(some['foo']);
print(some['bar']);
}