我一直在尝试使用 Dart 的noSuchMethod()
,但是这段代码
noSuchMethod(InvocationMirror invocation) {
// ...
}
导致以下错误:cannot resolve class name 'InvocationMirror' from 'MyClass'
看起来没有像 InvocationMirror 这样的类。它可能是没有它的旧版本的飞镖吗?我拥有的是今天刚下载的来自 SDK for Mac 的稳定版本。
我一直在尝试使用 Dart 的noSuchMethod()
,但是这段代码
noSuchMethod(InvocationMirror invocation) {
// ...
}
导致以下错误:cannot resolve class name 'InvocationMirror' from 'MyClass'
看起来没有像 InvocationMirror 这样的类。它可能是没有它的旧版本的飞镖吗?我拥有的是今天刚下载的来自 SDK for Mac 的稳定版本。
您正在观察规范和实现之间的不一致(这不足为奇,其中有很多)。你可以使用noSuchMethod
,至少在 Dart VM 上(不知道 dart2js),但它看起来像这样noSuchMethod(String name, List arguments)
:未来,当反射最终来到 Dart 时,它会改变。
您目前不能使用InvocationMirror类,因为基于镜像的反射尚未在 Dart 中实现(如本文所述)。