type_literal_in_constant_pattern
請勿在常數模式中使用類型文字。
此規則自 Dart 3.0 開始提供。
此規則有可用的快速修復。
詳細資訊
#如果您想測試物件是否具有類型 Foo
,請改寫為 Foo _
。
錯誤
dart
void f(Object? x) {
if (x case num) {
print('int or double');
}
}
正確
dart
void f(Object? x) {
if (x case num _) {
print('int or double');
}
}
如果您確實想測試匹配的值(您預期其類型為 Type
)是否等於類型文字 Foo
,則可以使用 const (Foo)
來關閉此 lint。
錯誤
dart
void f(Object? x) {
if (x case int) {
print('int');
}
}
正確
dart
void f(Object? x) {
if (x case const (int)) {
print('int');
}
}
用法
#若要啟用 type_literal_in_constant_pattern
規則,請在您的 analysis_options.yaml
檔案中的 linter > rules 下新增 type_literal_in_constant_pattern
analysis_options.yaml
yaml
linter:
rules:
- type_literal_in_constant_pattern
除非另有說明,否則此網站上的文件反映的是 Dart 3.6.0。頁面最後更新於 2024-07-03。 檢視原始碼 或 回報問題。