跳到主要內容

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