編譯器錯誤 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
}
}