Поделиться через


Ошибка компилятора CS1061

"type" не содержит определения "name", и не удалось найти доступный метод расширения "name", принимающий тип "type" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).

Эта ошибка возникает при попытке вызвать несуществующий метод или получить доступ к несуществующему члену класса.

Пример

В следующем примере ошибка CS1061 возникает, поскольку у Person отсутствует метод DisplayName. У него есть метод, который называется WriteName. Возможно, это то, что собирался написать автор исходного кода.

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

Исправление ошибки

  1. Проверьте, правильно ли введено имя элемента.
  2. Если вам доступно изменение этого класса, вы можете добавить и реализовать недостающий элемент.
  3. Если изменение класса вам недоступно, вы можете добавить метод расширения.

См. также