Pular para o conteúdo principal

mixin_class_declares_constructor

Detalhes sobre o diagnóstico 'mixin_class_declares_constructor' produzido pelo analisador do Dart.

The class '{0}' can't be used as a mixin because it declares a constructor.

Descrição

#

O analisador emite este diagnóstico quando uma classe é usada como mixin e a classe misturada define um construtor.

Exemplo

#

O código a seguir gera este diagnóstico porque a classe A, que define um construtor, está sendo usada como mixin:

dart
//@dart=2.19
class A {
  A();
}
​
class B with A {}

Correções comuns

#

Se for possível converter a classe em um mixin, então faça isso:

dart
mixin A {
}
​
class B with A {}

Se a classe não puder ser um mixin e for possível remover o construtor, então remova-o:

dart
//@dart=2.19
class A {
}
​
class B with A {}

Se a classe não puder ser um mixin e você não puder remover o construtor, então tente estender ou implementar a classe em vez de misturá-la:

dart
class A {
  A();
}
​
class B extends A {}

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ê.