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 規則,請將 type_literal_in_constant_pattern 新增到您的 analysis_options.yaml 檔案中 linter > rules 下方
analysis_options.yaml
yaml
linter:
rules:
- type_literal_in_constant_pattern如果您使用的是 YAML map 語法來配置 linter 規則,請在 linter > rules 下方新增 type_literal_in_constant_pattern: true
analysis_options.yaml
yaml
linter:
rules:
type_literal_in_constant_pattern: true