invalid_ factory_ name_ not_ a_ class
Detalhes sobre o diagnóstico 'invalid_factory_name_not_a_class' produzido pelo analisador do Dart.
The name of a factory constructor must be the same as the name of the immediately enclosing class.
Descrição
#O analisador produz este diagnóstico quando o nome de um construtor de fábrica não é o mesmo nome da classe que o contém.
Exemplo
#
O código a seguir produz este diagnóstico porque o nome do construtor de fábrica
(A) não é o mesmo nome da classe que o contém (C):
// @dart = 3.12
class A {}
class C {
factory A() => throw 0;
}
Correções comuns
#Se a fábrica retorna uma instância da classe que a contém, e você pretende que seja um construtor de fábrica sem nome, então renomeie a fábrica:
class A {}
class C {
factory C() => throw 0;
}
Se a fábrica retorna uma instância da classe que a contém, e você pretende que seja um construtor de fábrica nomeado, então coloque como prefixo do nome do construtor de fábrica o nome da classe que o contém:
class A {}
class C {
factory C.a() => throw 0;
}
Se a fábrica retorna uma instância de outra classe, então mova a fábrica para essa classe:
class A {
factory A() => throw 0;
}
class C {}
Se a fábrica retorna uma instância de outra classe, mas você não pode modificar essa classe ou não quer mover a fábrica, então converta-a em um método estático:
class A {}
class C {
static A a() => throw 0;
}
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
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ê.