コンパイラ エラー CS1958

更新 : 2007 年 11 月

エラー メッセージ

オブジェクトとコレクションの初期化子式は、デリゲートの作成式には適用できません

デリゲートはクラスや構造体のようにメンバがあるわけではありません。このため、オブジェクト初期化子が初期化する対象がありません。このエラーが発生した理由は、デリゲートの作成式の後に中かっこがあったためである可能性があります。この中かっこを削除すると、エラーが解決します。

このエラーを解決するには

  • 中かっこを削除します。

使用例

次のコードは CS1958 を生成します。

// cs1958.cs
public class MemberInitializerTest
{   
    delegate void D<T>();
    public static void GenericMethod<T>() { }
    public static void Run()
    {
        D<int> genD = new D<int>(GenericMethod<int>) { }; // CS1958
       // Try the following line instead
      // D<int> genD = new D<int>(GenericMethod<int>);
    }
}