컴파일러 오류 CS1929
업데이트: 2007년 11월
오류 메시지
인스턴스 인수: 'typeA'에서 'typeB'(으)로 변환할 수 없습니다.
Instance argument: cannot convert from 'typeA' to 'typeB'.
이 오류는 확장되지 않는 클래스에서 확장 메서드를 호출하려고 하는 경우 발생합니다. 이 예제에서 확장 메서드는 기본 클래스 B가 아닌 파생 클래스 A에 대해 정의됩니다.
이 오류를 해결하려면
- 호출할 형식에 대한 확장 메서드를 새로 만들거나 호출을 기존 메서드가 확장하는 형식의 개체로 이동합니다.
예제
다음 코드에서는 CS1928 및 CS1928 오류가 발생하는 경우를 보여 줍니다.
// cs1929.cs
using System.Linq;
using System.Collections;
static class Ext
{
public static void ExtMethod(this A a)
{
}
}
class A : B
{
}
class B
{
static void Main()
{
B b = new B();
b.ExtMethod(); // CS1929
}
}