Errore del compilatore CS1061

'type' non contiene una definizione per 'name' e non è stato possibile trovare alcun metodo di estensione accessibile 'name' che accetta un primo argomento di tipo 'type' (manca una direttiva di utilizzo o un riferimento all'assembly?).

Questo errore si verifica quando si tenta di chiamare un metodo o di accedere a un membro di classe che non esiste.

Esempio

Nell'esempio seguente viene generato l'errore CS1061 poiché Person non ha un metodo DisplayName. Ha invece un metodo denominato WriteName. Forse è proprio quello che l'autore del codice sorgente ha voluto scrivere.

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
    }
}

Per correggere l'errore

  1. Assicurarsi di aver digitato correttamente il nome del membro.
  2. Se si ha accesso per modificare questa classe, è possibile aggiungere il membro mancante e implementarlo.
  3. Se non si ha accesso per modificare questa classe, è possibile aggiungere un metodo di estensione.

Vedi anche