什么是C#的Func <bool,String>类型的dart等价物,即如何声明强类型函数变量?

atr*_*eon 2 dart

在C#中,可以强类型化函数变量和参数.

这个c#代码的dart等价物是多少?

Func<bool, String> myFunc;
Run Code Online (Sandbox Code Playgroud)

我知道这种Function类型,但它不允许我定义我的输入和输出类型,有没有办法在飞镖中实现这一点?

Jon*_*ams 7

Function 允许您指定输入和输出类型,可以在泛型中用作方法参数和返回类型,也可以使用typedef为它们指定名称.

/// As a method parameter.
void takesACallback(void Function(int, String) callback) {}

/// As a type parameter.
final mapOfFunctions = <int, String Function(bool)>{};

/// Named with a typedef.
typedef MyCallback = void Function(int);

/// Using the typedef
void myMethod(MyCallback myCallback) {}
Run Code Online (Sandbox Code Playgroud)