Pular para o conteúdo principal

undefined_static_member_read

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

The context type '{0}' doesn't have a {1} named '{2}'.

The context type '{0}' doesn't have static members or constructors.

The context type '{0}' is declared in '{1}', but private names are visible only in their own library.

The function type '{0}' doesn't have a static member named '{1}'.

The member '{0}' is declared in '{1}', but private names are visible only in their own library.

The {0} '{1}' doesn't have a {2} named '{3}'.

There's a static setter '{0}' in the {1} '{2}', but no getter.

Descrição

#

O analisador emite este diagnóstico quando um membro estático de uma classe, enum, mixin, extension type ou extensão é lido, invocado ou extraído (tear-off), mas a declaração não possui um método, getter ou campo estático acessível com esse nome. No caso de um enum, os membros estáticos incluem seus valores.

Para um atalho de ponto, como .a, o analisador procura o nome na declaração do seu tipo de contexto. Ele também emite este diagnóstico quando o tipo de contexto, como um tipo de função, não possui membros estáticos.

Exemplos

#

O código a seguir produz este diagnóstico porque a classe C não declara um membro estático chamado b:

dart
class C {
  static int a = 0;
}
​
var x = C.b;

O código a seguir produz este diagnóstico porque o enum E não possui um valor chamado c:

dart
enum E { a, b }
​
var e = E.c;

O código a seguir produz este diagnóstico porque o enum E, que é o tipo de contexto do atalho de ponto .c, não possui um valor chamado c:

dart
enum E { a, b }
​
E e = .c;

Correções comuns

#

Se você pretendia usar outro membro estático, use o nome dele:

dart
class C {
  static int a = 0;
}
​
var x = C.a;

Se o membro não estiver declarado, declare-o ou remova a referência.

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