コンパイラ エラー CS1922
コレクション初期化子では、System.Collections.IEnumerable の実装にその型 'type' が必要です。
型を指定してコレクション初期化子を使用するには、この型に IEnumerable
を実装する必要があります。 このエラーは、オブジェクト初期化子を使用するときに誤ってコレクション初期化子構文を使用した場合に発生する可能性があります。
この型がコレクションを表していない場合は、コレクション初期化子構文ではなくオブジェクト初期化子構文を使用します。
この型がコレクションを表している場合は、コレクション初期化子を使用してその型のオブジェクトを初期化する前に、型を変更して
IEnumerable
を実装します。この型がコレクションを表し、ソース コードへのアクセス権がない場合は、クラス コンストラクターまたは他の初期化メソッドを使用してその要素を初期化します。
次のコードでは CS1922 が生成されます。
// cs1922.cs
public class Test
{
public static void Main()
{
// Collection initializer.
var tc = new TestClass {1,"hello"} ; // CS1922
// Object initializer.
var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
}
}
public class TestClass
{
public int memberA { get; set; }
public string memberB { get; set; }
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。