8

For Example, I have a variable like this.

var fooBar = 12;

I want a something like this in Dart lang.

print_var_name(fooBar);

which prints:

fooBar

How can I achieve that? Is this even possible?

Thank you.

Mr.spShuvo
  • 428
  • 4
  • 12

1 Answers1

8

There is no such thing in Dart for the web or for Flutter.
Reflection can do that, but reflection is only supported in the server VM because it hurts tree-shaking.

You need to write code for that manually or use code generation where you need that.

An example:

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

output:

abc
123
samyak039
  • 42
  • 6
Günter Zöchbauer
  • 623,577
  • 216
  • 2,003
  • 1,567