コンパイラ エラー CS1921

更新 : 2007 年 11 月

エラー メッセージ

'メソッド' に最も適しているオーバーロード メソッドには、初期化子要素の正しくないシグネチャが含まれます。初期化可能な Add は、アクセス可能なインスタンス メソッドでなければなりません。

このエラーは、パブリックでない非静的 Add メソッドを持つクラスでコレクション初期化子を使用しようとしたときに生成されます。Add メソッドの保護レベル (private、protected、internal) が原因でメソッドがアクセスできない場合は、CS0122 が発生するため、このエラーが発生した場合は、メソッドが static として定義されていることを示していると考えられます。

使用例

次の例は CS1921 を生成します。

// cs1921.cs
using System.Collections;
public class C : CollectionBase
{
    public static void Add(int i)
    {
    }
}
public class Test
{
    public static void Main()
    {
        var collection = new C { 1, 2, 3 }; // CS1921
    }
}

参照

参照

オブジェクト初期化子とコレクション初期化子 (C# プログラミング ガイド)