type_literal_in_constant_pattern
請勿將常數模式與類型字面值一起使用。
詳細資訊
#如果您是指測試物件是否具有 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
如果您改為使用 YAML 對應語法來設定 linter 規則,請在 linter > rules 下新增 type_literal_in_constant_pattern: true
analysis_options.yaml
yaml
linter:
rules:
type_literal_in_constant_pattern: true
除非另有說明,否則本網站上的文件反映的是 Dart 3.7.1 版本。頁面最後更新於 2025-03-07。 檢視原始碼 或 回報問題。