通过 Dart Lang 中的值获取变量名称
Get Variables name by it's value in Dart Lang
例如,我有一个这样的变量。
var fooBar = 12;
我想要 Dart 语言中的类似内容。
print_var_name(fooBar);
打印:
fooBar
我怎样才能做到这一点?这可能吗?
谢谢。
Dart for web 或 Flutter 中没有这样的东西。
反射可以做到这一点,但反射仅在服务器 VM 中受支持,因为它会影响 tree-shaking。
您需要为此手动编写代码或在需要时使用代码生成。
一个例子
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']);
}
例如,我有一个这样的变量。
var fooBar = 12;
我想要 Dart 语言中的类似内容。
print_var_name(fooBar);
打印:
fooBar
我怎样才能做到这一点?这可能吗?
谢谢。
Dart for web 或 Flutter 中没有这样的东西。
反射可以做到这一点,但反射仅在服务器 VM 中受支持,因为它会影响 tree-shaking。
您需要为此手动编写代码或在需要时使用代码生成。
一个例子
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']);
}