共用方式為


編譯器錯誤 CS1112

更新:2007 年 11 月

錯誤訊息

請勿使用 'System.Runtime.CompilerServices.ExtensionAttribute',請改用 'this' 關鍵字。

ExtensionAttribute 用於包含擴充方法的非靜態類別 (Class) 時,會產生這個錯誤。如果這個屬性 (Attribute) 是用於靜態類別,則可能會出現另一個錯誤,例如 CS0708:「不能在靜態類別中宣告執行個體成員」。

在 C# 中,擴充方法必須定義在靜態類別中,而且方法的第一個參數是使用 this 關鍵字進行修改。而在原始程式碼中,則請絕對不要使用這個屬性。如需詳細資訊,請參閱擴充方法 (C# 程式設計手冊)

若要更正這個錯誤

  • 移除屬性,並將 this 修飾詞 (Modifier) 套用至方法的第一個參數。

範例

下列範例會產生 CS1112:

// cs1112.cs
[System.Runtime.CompilerServices.ExtensionAttribute] // CS1112
public class Extensions
{
    public bool A(bool b) { return b; }
}

class A { }