Метод newInstance (абстрактный)
InstanceMirror newInstance(Вызывает указанный конструктор и возвращает зеркало результата.
Пусть c — класс, отражённый этим зеркалом, пусть a1, ..., an — элементы positionalArguments, пусть k1, ..., km — идентификаторы, обозначаемые элементами namedArguments.keys, а v1, ..., vm — элементы namedArguments.values.
Если constructorName было создано из пустой строки, то этот метод выполнит выражение создания экземпляра new c(a1, ..., an, k1: v1, ..., km: vm) в области видимости, имеющей доступ к закрытым членам c.
В противном случае, пусть f — простое имя конструктора, обозначенного constructorName. Тогда этот метод выполнит выражение создания экземпляра new c.f(a1, ..., an, k1: v1, ..., km: vm) в области видимости, имеющей доступ к закрытым членам c.
В любом случае:
- Если выражение вычисляется с результатом r, этот метод возвращает результат вызова reflect(r).
- Если вычисление выражения приводит к ошибке компиляции, эффект такой же, как если бы произошла ошибка компиляции без использования зеркал.
- Если вычисление выражения генерирует исключение e (которое не перехватывается), этот метод генерирует e.
Исходный код
InstanceMirror newInstance(Symbol constructorName, List positionalArguments,
[Map<Symbol, dynamic> namedArguments]);
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-mirrors/ClassMirror/newInstance.html