共用方式為


編譯器錯誤 CS1929

更新:2007 年 11 月

錯誤訊息

執行個體引數: 無法從 'typeA' 轉換為 'typeB'。

嘗試從未擴充的類別 (Class) 中叫用 (Invoke) 擴充方法時,會產生這個錯誤。在這裡所示的範例中,擴充方法是定義給衍生類別 (Derived Class) A,而不是定義給基底類別 (Base Class) B。

若要更正這個錯誤

  • 針對必須叫用的型別建立新的擴充方法,或將呼叫移入現有方法擴充之型別的物件中。

範例

下列程式碼會產生 CS1928 和 CS1929:

// 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# 程式設計手冊)