null_check_on_nullable_type_parameter
不要在可能为可空的类型参数上使用null
检查。
此规则从 Dart 2.12 开始可用。
此规则提供了快速修复。
详情
#不要在可能为可空的类型参数上使用null
检查。
给定一个具有可空约束的泛型类型参数T
(例如,Object?
的默认约束),在使用类型为T?
的变量时,很容易引入错误的null
检查。具体来说,拥有T? x;
并希望断言x
已设置为类型T
的有效值的情况并不少见。一个常见的错误是使用x!
来做到这一点。这几乎总是错误的,因为如果T
是可空类型,则x
可以有效地将null
作为类型T
的值来保存。
错误的
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result!;
}
正确的
dart
T run<T>(T callback()) {
T? result;
(() { result = callback(); })();
return result as T;
}
用法
#要启用null_check_on_nullable_type_parameter
规则,请在analysis_options.yaml
文件中的linter > rules下添加null_check_on_nullable_type_parameter
analysis_options.yaml
yaml
linter:
rules:
- null_check_on_nullable_type_parameter
除非另有说明,否则本网站上的文档反映了 Dart 3.5.3。页面上次更新于 2024-07-03。 查看源代码 或 报告问题。