以下代码有效:
typedef num MyFunc(num);
class ObjectThatIsLikeFunc {
call(x) => x;
}
var obj = new ObjectThatIsLikeFunc();
MyFunc g = obj; //works
但是,如果 ObjectThatIsLikeFunc 没有 call 方法,而是定义了 noSuchMethod,则它不起作用。
typedef num MyFunc(num);
class ObjectThatIsLikeFunc {
noSuchMethod(InvocationMirror) => 100;
}
我得到“不是'MyFunc'类型的子类型”。
我的问题:有没有办法告诉类型检查器带有 noSuchMethod 的 ObjectThatIsLikeFunc 可以充当 MyFunc?