Pular para o conteúdo principal

switch_on_type

Saiba mais sobre a regra de lint switch_on_type.

Estável
Core
Lançado no Dart 3.9

Evite instruções switch sobre um 'Type'.

Detalhes

#

EVITE usar switch sobre Type.

Fazer switch sobre Type não é type-safe e pode levar a bugs se a hierarquia de classes mudar. Prefira usar pattern matching na própria variável.

RUIM:

dart
void f(Object o) {
  switch (o.runtimeType) {
    case int:
      print('int');
    case String:
      print('String');
  }
}

BOM:

dart
void f(Object o) {
  switch(o) {
    case int():
      print('int');
    case String _:
      print('String');
    default:
      print('other');
  }
}

Ativar

#

Para ativar a regra switch_on_type, adicione switch_on_type em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - switch_on_type

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione switch_on_type: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    switch_on_type: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.