Kompilatorfel CS1061

"type" innehåller ingen definition för "namn" och det gick inte att hitta någon tillgänglig tilläggsmetod "name" som accepterar ett första argument av typen "typ" (saknar du ett användningsdirektiv eller en sammansättningsreferens?).

Det här felet uppstår när du försöker anropa en metod eller komma åt en klassmedlem som inte finns.

Example

I följande exempel genereras CS1061 eftersom Person saknar en DisplayName-metod. Den har en metod som kallas WriteName. Kanske är det vad författaren till den här källkoden menade att skriva.

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

Så här åtgärdar du det här felet

  • Kontrollera att du har skrivit medlemsnamnet korrekt.
  • Om du har åtkomst till att ändra den här klassen kan du lägga till den medlem som saknas och implementera den.
  • Om du inte har åtkomst till att ändra den här klassen kan du lägga till en tilläggsmetod.
  • Om den medlem som du försöker komma åt ska finnas men inte gör det kanske du saknar ett obligatoriskt NuGet-paket. Sök NuGet.org för att hitta paket som innehåller den saknade medlemmen.

Se även