Описание тега dart-mirrors

Dart Mirrors lets you reflect objects with an API that is based on the concept of mirrors.
1 ответ

Отражать не импортированный класс

Я пытаюсь получить свойства динамического имени класса (также пытаюсь создать его экземпляр), но следующий код не работает, потому что я думаю, что мне нужно импортировать файл dart с кодом класса в файл, где я хочу отразить это: //I import the file…
03 ноя '15 в 01:49
1 ответ

Как добавить пару ключ-значение в объект?

Я хочу обновить мой объект, добавив больше пары ключ-значение. Object options = { "first_name": "Nitish", "last_name" : "Singh" } после инициализации объекта я хочу добавить еще один ключ и значение. Есть какой-либо способ сделать это. после добавле…
09 май '18 в 03:33
2 ответа

Получение значения открытого статического поля / свойства класса по его имени в виде строки в dart через отражаемое

Скажем, у меня есть класс: class Icons { static const IconData threesixty = IconData(0xe577, fontFamily: 'MaterialIcons'); } Теперь у меня есть строковая переменная со значением "threesixty": String fieldName = "threesixty"; как я могу получить знач…
07 фев '19 в 09:42
2 ответа

Условный импорт / код для пакетов Dart

Есть ли способ условно импортировать библиотеки / код на основе флагов среды или целевых платформ в Dart? Я пытаюсь переключиться между dart:ioКлассы ZLibDecoder / ZLibEncoder и zlib.js основаны на целевой платформе. Есть статья, в которой описывает…
22 окт '13 в 18:20
1 ответ

Виртуальная машина Dart сама реализует `eval` в`dart:mirrors`, и разработчики используют его. Планируется ли сделать этот метод публичным?

Вот код, который использует это eval метод в платформе дартс. Это делается с помощью отражения. выполнения / Lib/mirrors_impl.dart _getFieldSlow(unwrapped) { // ..... Skipped var atPosition = unwrapped.indexOf('@'); if (atPosition == -1) { // Public…
2 ответа

Как получить все поля для класса в дартс?

Я посмотрел на библиотеку dart:mirrors и нашел ClassMirror. Пока я видел getField Я не видел доступ ко всем полям. Я видел getters, хоть. Если я хочу получить все поля для класса, я должен пройти через getters?
10 июн '13 в 10:04
2 ответа

Есть ли способ узнать, содержит ли класс переменную экземпляра с некоторым известным именем?

При перехвате ошибки из MySql заранее неизвестно, каким будет содержимое класса ошибок, переданного мне. Итак, я кодирую: .catchError((firstError) { sqlMessage = firstError.message; try { sqlError = firstError.osError; } catch (noInstanceError){ sql…
23 фев '14 в 20:36
1 ответ

Сбой сборки паба для проекта dart после использования зеркал

Я полагался на мифический ответ Добавить сериал JSON в каждый класс моделей? сделать очень простой объект, пригодный для использования с JSON, и он работал нормально, когда я его запустил. Но потом я понял, что мне даже не нужен этот объект, и удали…
15 июл '15 в 13:36
1 ответ

Я не могу понять, как работает "isSubtypeOf" в зеркалах Dart

Согласно этому тесту, я не могу вызвать метод "method" с аргументом "list", потому что тип аргумента не совместим с типом параметра метода. Где я не прав в моем тесте? import "dart:mirrors"; void main() { var list = new List<String>(); var lis…
06 апр '14 в 10:45
2 ответа

Сбой вывода Dart JavaScript: метод не найден: 'новые задачи:1:0' получатель: экземпляр 'JsClassMirror'

Я перенес удобную библиотеку JS в Dart: dartscale. Важнейшая часть его функциональности может быть разбита на: final Map<Symbol, ClassMirror> _registeredModules = new Map<Symbol, ClassMirror>(); register(module, [String moduleName]) { fi…
28 июл '13 в 09:27
1 ответ

Дарт, учитывая экземпляр класса, возможно ли получить список всех типов, которые он наследует в порядке возрастания?

Если у меня есть: List<Type> getInheritanceStructure(){ // TODO } class A{ } class B extends A{ } class C extends B{ } var c = new C(); List<Type> types = getInheritanceStructure(c); types.forEach((type) => print(type)); //should prin…
18 фев '14 в 11:09
1 ответ

Дарт, как разобрать строку пользователя в функциональный код дартс?

Можно ли проанализировать введенную пользователем строку, скажем, из текстовой области, а затем включить ее в функцию dart, которую затем можно запустить, не отправляя ее обратно на сервер? Я думаю, я ищу дротик Eval эквивалент.
16 сен '13 в 14:29
2 ответа

Найти все подклассы в дартс

У меня есть три класса в дартс: class A {} class B extends A{} class C extends A{} Есть ли способ получить все подклассы от A? Редактировать: Спасибо, Александр Ардуин, ваше решение сработало отлично! Я изучаю дротик, я отредактировал ваш код и пост…
22 апр '13 в 15:05
1 ответ

Дарт: Как преобразовать имена идентификаторов переменных в строки только для переменных определенного типа

Используя Дарт здесь. Как следует из приведенного выше названия, у меня есть класс (показанный ниже), который имеет три переменные экземпляра bool. Я хочу создать функцию, которая проверяет имена идентификаторов этих переменных экземпляра и печатает…
12 апр '14 в 03:29
1 ответ

Как получить конкретный объект статического метода через зеркальный API?

У меня есть что-то вроде этого: class MyClass { static void DoSomething(arg1, arg2){...} } Благодаря отражению я могу получить ClassMirror этого класса. С этого момента, как мне добраться до конкретной статической функции, чтобы я мог ее вызвать. Об…
24 авг '12 в 16:56
3 ответа

В чем разница между зеркальным отражением и традиционным отражением?

В некоторых языках, таких как Dart, используется зеркальное отражение, поэтому, в простых терминах, в чем разница между такой реализацией и традиционным отражением, как вы видите в C# или Java. Обновление: я нашел это превосходное (и несколько стран…
3 ответа

Как я могу использовать Reflection (Mirrors) для доступа к именам методов в классе Dart?

Мне нужно "выбрать" методы в классе дартс. Как я могу это сделать? И я хочу иметь возможность вызывать методы. Могу ли я увидеть пример?
03 ноя '12 в 01:41
2 ответа

Создать экземпляр объекта из строки в дартс?

Как бы я сделал Dart эквивалент этого Java-кода? Class<?> c = Class.forName("mypackage.MyClass"); Constructor<?> cons = c.getConstructor(String.class); Object object = cons.newInstance("MyAttributeValue"); (От Джеффа Гарднера)
19 июн '13 в 00:26
1 ответ

Динамическое преобразование типов с зеркалами

Проблема: Можно ли привести тип динамически к типу? Например, возможно ли это с помощью зеркал: var reflectee = im.getField(simpleName).reflectee; var converted = testVal as reflectee.runtimeType; Контекст: я хочу сделать класс Mixin, который опреде…
03 апр '14 в 16:04
3 ответа

@ переопределение кода дротика

Я заметил, что PetitParserDart имеет много @override в коде, но я не знаю, как они проверяются? Я попробовал IDEA dart-plugin для @override, но это никак не влияет. Как мы можем использовать @override с дартсом?
09 июл '13 в 14:00