Pular para o conteúdo principal

invalid_use_of_protected_member

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

The member '{0}' can only be used within instance members of subclasses of '{1}'.

Descrição

#

O analisador gera este diagnóstico quando um getter, setter, campo ou método anotado com @protected é referenciado em qualquer lugar que não seja a biblioteca onde ele é declarado ou uma subclasse da classe onde ele é declarado.

Exemplo

#

Dado um arquivo a.dart que contém o seguinte:

dart
import 'package:meta/meta.dart';
​
class A {
  @protected
  void a() {}
}

O código a seguir gera este diagnóstico porque o método a está sendo invocado em um código que não está em uma subclasse de A:

dart
import 'a.dart';
​
void b(A a) {
  a.a();
}

Correções comuns

#

Se é razoável que o membro seja marcado como @protected, então remova a referência ao membro protegido, substituindo-a por algum código equivalente.

Se não é razoável que o membro seja marcado como @protected e você tem a possibilidade de fazê-lo, remova a anotação.

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