呼び出し可能なオブジェクト
Dart クラスのインスタンスを関数のように呼び出せるようにするには、call() メソッドを実装します。
call() メソッドは、それを定義した任意のクラスのインスタンスが関数をエミュレートできるようにします。このメソッドは、通常の 関数 と同じ機能(パラメーターや戻り値の型など)をサポートしています。
次の例では、WannabeFunction クラスは、3 つの文字列を受け取り、それらをスペースで区切り、感嘆符を追加して連結する call() 関数を定義しています。実行 をクリックしてコードを実行します。
class WannabeFunction {
  String call(String a, String b, String c) => '$a $b $c!';
}
var wf = WannabeFunction();
var out = wf('Hi', 'there,', 'gang');
void main() => print(out);