/ / Dart関数名によるメンバ関数の呼び出し[複製] - dart、dart-mirrors

関数名でメンバー関数を呼び出すダーツ[複製] - ダーツ、ダーツミラー

dartで名前を付けて関数を呼び出す方法があるかどうか私は疑問に思います JavaScriptのように.

そのようなことをしたいのですが。

foo["bar"]();

回答:

回答№1は1

質問者が望んでいることを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".
}