コンパイラ エラー CS1113
更新 : 2007 年 11 月
エラー メッセージ
値の型 '名前' で定義された拡張メソッド '名前' は、デリゲートを作成するために使用できません。
クラス型に対して定義された拡張メソッドは、デリゲートを作成するために使用できます。値の型に対して定義された拡張メソッドは使用できません。
このエラーを解決するには
拡張メソッドをクラス型に関連付けます。
メソッドを構造体の通常のメソッドにします。
使用例
次のコードは 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;
}
}