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>{}]);