CS1061 fordítási hiba

A "típus" nem tartalmaz "név" definíciót, és nem található a "típus" típusú első argumentumot elfogadó akadálymentes "név" kiterjesztési módszer (hiányzik egy használt irányelv vagy egy szerelvényhivatkozás?).

Ez a hiba akkor fordul elő, ha metódust próbál meghívni, vagy nem létező osztálytagot próbál elérni.

Example

Az alábbi példa a CS1061-et hozza létre, mert a Person típusnak nincs DisplayName metódusa. Van egy metódusa, amelynek a neve WriteName. Lehet, hogy ezt akarta írni ennek a forráskódnak a szerzője.

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

A hiba kijavítása

  • Győződjön meg arról, hogy helyesen adta meg a tag nevét.
  • Ha rendelkezik hozzáféréssel az osztály módosításához, hozzáadhatja a hiányzó tagot, és megvalósíthatja azt.
  • Ha nincs hozzáférése az osztály módosításához, hozzáadhat egy bővítménymetódust.
  • Ha a elérni kívánt tagnak léteznie kell, de nem, előfordulhat, hogy hiányzik egy szükséges NuGet-csomag. Keressen NuGet.org a hiányzó tagot tartalmazó csomagok megkereséséhez.

Lásd még