編譯器錯誤 CS1113
更新:2007 年 11 月
錯誤訊息
在實值型別 'name' 中定義的擴充方法 'name' 無法用來建立委派。
針對類別 (Class) 型別定義的擴充方法,可以用來建立委派 (Delegate)。而針對實值型別 (Value Type) 定義的擴充方法則不可以進行這項作業。
若要更正這個錯誤
將擴充方法與類別型別產生關聯。
將方法製作為結構 (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;
}
}