目錄

type_literal_in_constant_pattern

請勿在常數模式中使用類型文字。

此規則自 Dart 3.0 開始提供。

規則集:核心建議flutter

此規則有可用的快速修復

詳細資訊

#

如果您想測試物件是否具有類型 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