通过 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']); 
}