【问题标题】:Get Variables name by it's value in Dart Lang通过 Dart Lang 中的值获取变量名称
【发布时间】:2019-05-13 05:01:09
【问题描述】:

例如,我有一个这样的变量。

var fooBar = 12;

我想要 Dart lang 中类似的东西。

print_var_name(fooBar);

哪个打印:

fooBar

我怎样才能做到这一点?这甚至可能吗?

谢谢。

【问题讨论】:

    标签: dart dart-html


    【解决方案1】:

    在 Dart 中没有这样的东西用于 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']); 
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-15
    • 2018-10-20
    • 2014-02-08
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多