Compartir por


Error del compilador CS1061

'type' no contiene una definición para 'name' y no se puede encontrar ningún método de extensión accesible 'name' que acepte un primer argumento de tipo 'type' (¿falta una directiva using o una referencia de ensamblado?).

Este error se produce al intentar llamar a un método o acceder a un miembro de clase que no existe.

Example

En el ejemplo siguiente se genera la advertencia CS1061 porque Person no tiene un DisplayName método . Tiene un método denominado WriteName. Quizás eso es lo que el autor de este código fuente significaba 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

  • Asegúrese de escribir el nombre del miembro correctamente.
  • Si tiene acceso para modificar esta clase, puede agregar el miembro que falta e implementarlo.
  • Si no tiene acceso para modificar esta clase, puede agregar un método de extensión.
  • Si el miembro al que intenta acceder debe existir, pero no, es posible que falte un paquete NuGet necesario. Busque NuGet.org para buscar paquetes que contengan el miembro que falta.

Consulte también