Share via


컴파일러 오류 CS1112

업데이트: 2007년 11월

오류 메시지

'System.Runtime.CompilerServices.ExtensionAttribute'를 사용하지 마십시오. 대신 'this' 키워드를 사용하십시오.
Do not use 'System.Runtime.CompilerServices.ExtensionAttribute'. Use the 'this' keyword instead.

이 오류는 확장 메서드를 포함하는 비정적 클래스에서 ExtensionAttribute를 사용하는 경우 발생합니다. 정적 클래스에서 이 특성을 사용하는 경우 CS0708: "정적 클래스에 인스턴스 멤버를 선언할 수 없습니다."와 같은 다른 오류가 발생할 수도 있습니다.

C#에서는 확장 메서드가 정적 클래스에 정의되어 있어야 하며 메서드의 첫 번째 매개 변수는 this 키워드로 한정됩니다. 소스 코드에서 특성을 사용하지 마십시오. 자세한 내용은 확장 메서드(C# 프로그래밍 가이드)를 참조하십시오.

이 오류를 해결하려면

  • 특성을 제거하고 this 한정자를 메서드의 첫 번째 매개 변수에 적용합니다.

예제

다음 예제에서는 CS1112 오류가 발생하는 경우를 보여 줍니다.

// cs1112.cs
[System.Runtime.CompilerServices.ExtensionAttribute] // CS1112
public class Extensions
{
    public bool A(bool b) { return b; }
}

class A { }