【发布时间】:2021-04-28 02:09:00
【问题描述】:
以下代码在使用 Null Safety 编译时失败,出现以下错误:
参数namedParam因其类型不能有null的值,并且没有提供非空默认值。
void main() {
Foo(callbackWithNamedParam: ({namedParam}) {
print('param=$namedParam');
}).callback();
}
class Foo {
final void Function({required int namedParam}) callbackWithNamedParam;
Foo({required this.callbackWithNamedParam});
void callback() {
callbackWithNamedParam(namedParam: 10);
}
}
在没有 Null Safety 的情况下编译时,代码编译得非常好。
DartPad with 编译失败的 Null Safety
DartPad without 编译良好的 Null Safety
有没有办法解决:
- 不切换到位置参数
和 - 不做命名参数
nullable?
【问题讨论】:
标签: dart dart-null-safety