컴파일러 오류 CS1928
업데이트: 2007년 11월
오류 메시지
'Type'에 'method'에 대한 정의가 없으며 가장 적합한 확장 메서드 오버로드 'method'에 잘못된 인수가 있습니다.
'Type' does not contain a definition for 'method' and the best extension method overload 'method' has some invalid arguments.
이 오류는 컴파일러가 호출된 메서드 이름을 사용하여 클래스 멤버를 찾을 수 없는 경우 발생합니다. 해당 이름을 사용하여 확장 메서드를 찾을 수는 있지만 메서드 호출과 함께 전달한 형식과 일치하는 시그니처를 사용하여 확장 메서드를 찾을 수는 없습니다.
이 오류를 해결하려면
- 기존 확장 메서드 또는 클래스 메서드와 일치하는 형식을 전달합니다.
예제
다음 코드에서는 CS1928 오류가 발생하는 경우를 보여 줍니다.
// cs1928.cs
class Test
{
static void Main()
{
Test t = new Test();
t.M("hi"); // CS1928
}
}
static class Ext
{
public static void M(this Test t, int i)
{
}
}
이 오류는 종종 "CS1503: 'n' 인수: 'typeA'에서 'typeB'(으)로 변환할 수 없습니다."와 함께 발생합니다.