飞镖通过函数名[复制]调用成员函数(Dart calling a member function b

2019-10-18 21:35发布

这个问题已经在这里有一个答案:

  • 在DART动态类方法调用 3回答

我想知道是否有无论如何调用其在镖名称的功能和在JavaScript 。

我愿做一些这样:

foo["bar"]();

Answer 1:

我不想让读者觉得提问者想要的东西是不可能的飞镖,所以我加入一个答案。

您需要使用镜子来调用一个方法,如果您有它的名字可以作为一个字符串。 下面是一个例子:

import 'dart:mirrors';

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

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

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


文章来源: Dart calling a member function by function name [duplicate]