如何键入一个返回相同类型的另一个函数的函数?

dec*_*rig 5 dart

我在dart中实现了一个状态机,我想让我的状态函数返回其他状态函数,但是

typedef State State(foo);
Run Code Online (Sandbox Code Playgroud)

给我一个错误:

typedef 'State' illegally refers to itself
Run Code Online (Sandbox Code Playgroud)

有没有办法做这个typedef?显然我可以将它包装在一个类中或让它返回Function,但我希望用typedef来做这个.

Set*_*add 3

抱歉,目前规范不允许这样做。您可以在http://dartbug.com/new上提出功能请求

正如您提到的,使用对象或返回函数将是现在最好的方法。