共用方式為


編譯器錯誤 CS1922

更新:2007 年 11 月

錯誤訊息

集合初始設定式的型別必須是 'type' 才能實作 System.Collections.IEnumerable。

若要搭配使用集合初始設定式與型別,則型別必須實作 IEnumerable。如果想要使用物件初始設定式,但卻誤用集合初始設定式語法,則會發生這個錯誤。

若要更正這個錯誤

  • 如果型別不是代表集合,則請使用物件初始設定式語法,而不要使用集合初始設定式語法。

  • 如果型別代表集合,則請先將它修改成實作 IEnumerable,再使用集合初始設定式來初始化該型別的物件。

  • 如果型別代表集合,而您沒有原始程式碼的存取權,則請使用型別項目的類別建構函式 (Constructor) 或其他初始化方法,只初始化型別的項目。

範例

下列程式碼會產生 CS1922:

// cs1922.cs
public class Test
{
    public static void Main()
    {
        // Collection initializer.
        var tc = new TestClass  {1,"hello"} ; // CS1922

        // Object initalizer.
        var tc2 = new TestClass { memberA = 1, memberB = "hello" }; // OK
    }
}

public class TestClass
{
    public int memberA { get; set; }
    public string memberB { get; set; }
}

請參閱

參考

物件和集合初始設定式 (C# 程式設計手冊)