2012-05-10 1 views
1

Я пытался использовать Дарт noSuchMethod(), но этот кодне может разрешить имя класса «InvocationMirror» в Дарте

noSuchMethod(InvocationMirror invocation) { 
    // ... 
} 

результатов в следующей ошибке: cannot resolve class name 'InvocationMirror' from 'MyClass'

Похоже, там нет такой класс, как InvocationMirror. Может быть, это более старая версия дротика, у которой ее нет? Тот, который у меня есть, является стабильным с SDK для Mac, загруженным только сегодня.

ответ

2

Вы наблюдаете несоответствие между спецификацией и реализацией (что не должно удивлять, их много). Вы можете использовать noSuchMethod, по крайней мере, на Dart VM (не знаю о dart2js), но это выглядит так: noSuchMethod(String name, List arguments). В будущем, когда наконец-то придет отражение Дарта, он изменится.

1

В настоящее время вы не можете использовать класс InvocationMirror, поскольку зеркальное отражение еще не реализовано в Dart (как упоминалось в статье this).