다음을 통해 공유


컴파일러 오류 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
        }
    }

참고 항목

참조

확장 메서드(C# 프로그래밍 가이드)