コンパイラ エラー 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>);
}
}