Erro do compilador CS1061

'type' não contém uma definição para 'name' e nenhum método de extensão acessível 'name' aceitando um primeiro argumento do tipo 'type' pode ser encontrado (você está faltando uma diretiva de uso ou uma referência de assembly?).

Esse erro ocorre quando você tenta chamar um método ou acessar um membro de classe que não existe.

Example

O exemplo a seguir gera CS1061 porque Person não tem um DisplayName método. Ele tem um método chamado WriteName. Talvez seja isso que o autor deste código-fonte pretendia escrever.

public class Person
{
    private string _name;

    public Person(string name) => _name = name;

    // Person has one method, called WriteName.
    public void WriteName()
    {
        System.Console.WriteLine(_name);
    }
}

public class Program
{
    public static void Main()
    {
        var p = new Person("PersonName");

        // The following call fails because Person does not have
        // a method called DisplayName.
        p.DisplayName(); // CS1061
    }
}

Para corrigir esse erro

  • Verifique se você digitou o nome do membro corretamente.
  • Se você tiver acesso para modificar essa classe, poderá adicionar o membro ausente e implementá-lo.
  • Se você não tiver acesso para modificar essa classe, poderá adicionar um método de extensão.
  • Se o membro que você está tentando acessar deve existir, mas não existir, talvez você esteja perdendo um pacote NuGet necessário. Pesquise NuGet.org para localizar pacotes que contêm o membro ausente.

Consulte também