以下代码有效:
typedef num MyFunc(num);
class ObjectThatIsLikeFunc {
call(x) => x;
}
var obj = new ObjectThatIsLikeFunc();
MyFunc g = obj; //works
但是,如果ObjectThatIsLikeFunc没有调用方法,而是定义noSuchMethod,则它不起作用。
typedef num MyFunc(num);
class ObjectThatIsLikeFunc {
noSuchMethod(InvocationMirror) => 100;
}
我得到“不是'MyFunc'类型的子类型。”
我的问题: 有没有办法告诉类型检查器,带有noSuchMethod的ObjectThatIsLikeFunc可以充当MyFunc?
答案 0 :(得分:0)
简短的回答,而不是我所知道的。一般情况是,“我怎么能有一个实现noSuchMethod的类像任何类型一样?”我想我听过Dart可能允许这样做的一些话题,但我找不到它的参考。