編譯器錯誤 CS1928
更新:2007 年 11 月
錯誤訊息
'Type' 不包含 'method' 的定義,而且最佳的擴充方法多載 'method' 有一些無效的引數。
針對您所呼叫的方法,編譯器 (Compiler) 找不到具有該方法之名稱的類別 (Class) 成員時,便會產生這個錯誤。它可以利用該名稱尋找擴充方法,但不是利用與透過方法呼叫所傳入之型別相符的簽章 (Signature)。
若要更正這個錯誤
- 傳入與現有擴充方法或類別方法相符的型別。
範例
下列程式碼會產生 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'」。