unnecessary_getters_setters
避免为了“安全”而将字段包装在 getter 和 setter 中。
此规则自 Dart 2.0 起可用。
此规则有快速修复可用。
详情
#来自有效的 Dart
避免为了“安全”而将字段包装在 getter 和 setter 中。
在 Java 和 C# 中,通常会将所有字段隐藏在 getter 和 setter(或 C# 中的属性)之后,即使实现只是转发到该字段。这样,如果您需要在这些成员中执行更多工作,您可以在不接触调用站点的情况下执行此操作。这是因为在 Java 中调用 getter 方法与访问字段不同,并且访问属性与访问 C# 中的原始字段不二进制兼容。
Dart 没有此限制。字段和 getter/setter 完全无法区分。您可以在类中公开一个字段,稍后将其包装在 getter 和 setter 中,而无需接触任何使用该字段的代码。
错误
dart
class Box {
var _contents;
get contents => _contents;
set contents(value) {
_contents = value;
}
}
正确
dart
class Box {
var contents;
}
用法
#要启用 unnecessary_getters_setters
规则,请在您的 analysis_options.yaml
文件中 linter > rules 下添加 unnecessary_getters_setters
analysis_options.yaml
yaml
linter:
rules:
- unnecessary_getters_setters
除非另有说明,否则本网站上的文档反映的是 Dart 3.6.0。页面上次更新于 2024-07-03。 查看源代码 或 报告问题。