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<dynamic> positionalArguments,
[Map<Symbol, dynamic> namedArguments = const <Symbol, dynamic>{}]);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-mirrors/ClassMirror/newInstance.html