newInstance抽象方法
调用命名构造函数并返回结果的一个镜像。
令c为该镜像反射的类,令a1, ..., an为positionalArguments
的元素,令k1, ..., km为namedArguments
.keys的元素标识符,令v1, ..., vm为namedArguments
.values的元素。
如果constructorName
是从空字符串创建的,则此方法将在可以访问c的私有成员的作用域中执行实例创建表达式new c(a1, ..., an, k1: v1, ..., km: vm)。
否则,令f为constructorName
所表示的构造函数的简单名称。然后此方法将在可以访问c的私有成员的作用域中执行实例创建表达式new c.f(a1, ..., an, k1: v1, ..., km: vm)。
在任何情况下
- 如果表达式计算结果为结果r,则此方法返回调用
reflect(r)
的结果。 - 如果评估表达式导致编译错误,则效果与遇到非反射编译错误相同。
- 如果评估表达式抛出异常e(它没有捕获),则此方法抛出e。
实现
InstanceMirror newInstance(
Symbol constructorName, List<dynamic> positionalArguments,
[Map<Symbol, dynamic> namedArguments = const <Symbol, dynamic>{}]);