Freigeben über


Compilerfehler CS1061

„type“ enthält keine Definition für „name“, und es konnte keine Erweiterungsmethode „name“ gefunden werden, die ein erstes Argument vom Typ „type“ akzeptiert (möglicherweise fehlt eine using-Anweisung oder ein Assemblyverweis).

Dieser Fehler tritt auf, wenn Sie versuchen, eine Methode aufzurufen oder auf einen Klassenmember zuzugreifen, der nicht vorhanden ist.

Beispiel

Im folgenden Beispiel wird CS1061 generiert, da Person nicht über eine Methode DisplayName verfügt. Es verfügt über eine Methode namens WriteName. Vielleicht ist es das, was der Autor dieses Quellcodes schreiben wollte.

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

So beheben Sie diesen Fehler

  1. Gehen Sie sicher, dass Sie den Member-Namen richtig geschrieben haben.
  2. Wenn Sie Zugriff zum Ändern dieser Klasse haben, können Sie den fehlenden Member hinzufügen und implementieren.
  3. Wenn Sie keinen Zugriff zum Ändern dieser Klasse haben, können Sie eine Erweiterungsmethode hinzufügen.

Weitere Informationen