共用方式為


編譯器錯誤 CS1113

更新:2007 年 11 月

錯誤訊息

在實值型別 'name' 中定義的擴充方法 'name' 無法用來建立委派。

針對類別 (Class) 型別定義的擴充方法,可以用來建立委派 (Delegate)。而針對實值型別 (Value Type) 定義的擴充方法則不可以進行這項作業。

若要更正這個錯誤

  1. 將擴充方法與類別型別產生關聯。

  2. 將方法製作為結構 (Struct) 上的規則方法。

範例

下列範例會產生 CS1113:

// cs1113.cs
using System;
public static class Extensions
{
    public static S ExtMethod(this S s)
    {
        return s;
    }
}

public struct S
{
}

public class Test
{
    static int Main()
    {
        Func<S> f = new S().ExtMethod; // CS1113
        return 1;
    }
}

請參閱

參考

擴充方法 (C# 程式設計手冊)