目次

定数パターンにおける
型リテラル

定数パターンで型リテラルを使用しないでください。

このルールはDart 3.0以降で利用可能です。

ルールセット: corerecommendedflutter

このルールにはクイックフィックスが用意されています。

詳細

#

オブジェクトが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)を使用して抑制できます。

悪い例

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