Я пытаюсь использовать зеркала, но у меня есть ошибка в некотором простом коде.Dart зеркала выпуск. getField
import 'dart:mirrors';
// -----------------
class TestUser extends Object{
String name = 'aaa';
String status = 'bbb';
String position = 'ccc';
int age = 20;
}
var mapVal = new TestUser();
InstanceMirror mirror = reflect(mapVal);
var futureValue = mirror.getField('age');
futureValue.then((imValue) => print("Field: age = ${imValue.reflectee}"));
Результат:
Unhandled exception:
Class 'String' has no instance getter '[email protected]'.
NoSuchMethodError : method not found: '[email protected]'
Receiver: "age"
Arguments: []
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#1 Symbol.getName (dart:_collection-dev/symbol.dart:64)
#2 _n (dart:mirrors-patch/mirrors_impl.dart:59)
#3 _LocalObjectMirror.getField (dart:mirrors-patch/mirrors_impl.dart:254)
#4 main (file:///C:/Users/Less/IdeaProjects/testDart/console/template.dart:67:36)
#5 _startIsolate.isolateStartHandler (dart:isolate-patch/isolate_patch.dart:216)
#6 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:115)
Что это значит? Понятия не имею. Почему он берет '_name @ 0x1aab143' из String? Черная магия ...
спасибо! ваш ответ был более полным) Я сражался с редактором Eclipse, но теперь я пытаюсь использовать IDEA. Никто из них не идеален, как я вижу. –