Pular para o conteúdo principal

instance_member_access_from_static

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

Instance members can't be accessed from a static method.

Descrição

#

O analisador produz este diagnóstico quando um método estático contém uma referência não qualificada a um membro de instância.

Exemplo

#

O código a seguir produz este diagnóstico porque o campo de instância x está sendo referenciado em um método estático:

dart
class C {
  int x = 0;
​
  static int m() {
    return x;
  }
}

Correções comuns

#

Se o método precisar referenciar o membro de instância, então ele não pode ser estático; remova a palavra-chave:

dart
class C {
  int x = 0;
​
  int m() {
    return x;
  }
}

Se o método não puder se tornar um método de instância, então adicione um parâmetro para que uma instância da classe possa ser passada:

dart
class C {
  int x = 0;
​
  static int m(C c) {
    return c.x;
  }
}

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