Error del compilador CS1061

"type" no contiene una definición para "name" ni se encuentra ningún método de extensión accesible "name" que acepte un primer argumento del tipo "type" (¿falta una directiva de uso o una referencia de ensamblado?).

Este error se produce cuando intenta llamar a un método o tener acceso a un miembro de clase que no existe.

Ejemplo

En el siguiente ejemplo se genera CS1061 porque Person no tiene un método DisplayName. Tiene un método que se denomina WriteName. Quizás este es el que el autor del código fuente quería escribir.

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 corregir este error

  1. Asegúrese de haber escrito el nombre de miembro correctamente.
  2. Si tiene acceso para modificar esta clase, se puede agregar el miembro que falta e implementarlo.
  3. Si no tiene acceso para modificar esta clase, se puede agregar un método de extensión.

Consulte también