не может разрешить имя класса InvocationMirror в Dart

Я пытался использовать Dart noSuchMethod(), но этот код

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

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

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


person snitko    schedule 10.05.2012    source источник


Ответы (2)


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

person Ladicek    schedule 10.05.2012

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

person Lars Tackmann    schedule 10.05.2012