Dart按函数名称调用成员函数

时间:2013-11-01 00:14:23

标签: dart dart-mirrors

我想知道是否无论如何都要在dart as in javascript中按名称调用函数。

我想这样做:

foo["bar"]();

1 个答案:

答案 0 :(得分:2)

我不希望读者在Dart中想到提问者想要的是什么,所以我正在添加一个答案。

如果您将其名称作为字符串提供,则需要使用Mirrors来调用方法。这是一个例子:

import 'dart:mirrors';

class Foo {
  bar() => "bar";
}

void main() {
  var foo = new Foo();

  var mirror = reflect(foo);
  print(mirror.invoke(#bar, []).reflectee); // Prints 'bar'.
}