Получить имя переменной по значению в Dart Lang - PullRequest
0 голосов
/ 12 декабря 2018

Например, у меня есть такая переменная.

var fooBar = 12;

Я хочу что-то подобное в Dart lang.

print_var_name(fooBar);

, которая печатает:

fooBar

Как мне этого добиться?Это вообще возможно?

Спасибо.

1 Ответ

0 голосов
/ 12 декабря 2018

В Dart нет такой вещи для Интернета или для Flutter.
Отражение может сделать это, но отражение поддерживается только в виртуальной машине сервера, потому что это мешает тряске деревьев.

Вам необходимонапишите код для этого вручную или используйте генерацию кода там, где вам это нужно.

Пример

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