コンパイラ エラー CS1950

更新 : 2007 年 11 月

エラー メッセージ

コレクション初期化子に最も適しているオーバーロード Add メソッド 'name' には無効な引数がいくつか含まれています。

コレクション初期化子をサポートするには、クラスに IEnumerable が実装されていることと、パブリックな Add メソッドが必要です。コレクション初期化子を使用して型を初期化するには、Add メソッドの入力パラメータが、追加しようとしているオブジェクトの型と互換性がなければなりません。

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

  • コレクション初期化子に、互換性のある型を使用します。

  • コレクション型の Add メソッドの入力パラメータおよびアクセシビリティ、またはその一方を変更します。

  • 新規の Add メソッドを、受け渡しているパラメータと一致する入力パラメータを付けて追加します。

  • コレクション クラスをジェネリックにし、受け渡す型が何であっても受け入れる Add メソッドを持てるようにします。

使用例

次の例では CS1950 が生成されます。

// cs1950.cs
using System.Collections;
class TestClass : CollectionBase
{
    public void Add(int c)
    {
    }
}

class Test
{
    static void Main()
    {
        TestClass t = new TestClass { "hi" }; // CS1950
    }
}

参照

参照

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