컴파일러 오류 CS1061

‘type’에 ‘name’에 대한 정의가 없고 ‘type’ 형식의 첫 번째 인수를 허용하는 액세스 가능한 확장 메서드 ‘name’을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요.

메서드를 호출하거나 존재하지 않는 클래스 멤버에 액세스하려고 하면 이 오류가 발생합니다.

예시

다음 예제에서는 PersonDisplayName 메서드가 없기 때문에 CS1061을 생성합니다. 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. 이 클래스를 수정할 수 있는 권한이 없는 경우 확장 메서드를 추가할 수 있습니다.

참고 항목