1

私は IList を持っています。

 IList<MyClass> MyList
    {
        get;
        set;
    }

ページ読み込みで Myclass のリストをこれにコピーします

MyList=Listofmyclass;

MyListに新しいアイテムを追加したい

MyList.Add(NewItem);

しかし、このコードを使用すると、「コレクションは固定サイズでした。」というエラーが表示されます。

新しいアイテムを IList に追加するには?

4

3 に答える 3

2

だと思いMyListますMyClass[]。配列には固定サイズがあり、項目を追加することはできません。List<MyClass>代わりに、可能であればそれをサポートする代わりにを割り当てます。

于 2012-11-19T09:34:35.020 に答える
1

おそらく、Listofmyclass の固定サイズの実装があります。つまり、次のようになります。

IsFixedSize == true

これにより、リスト要素の追加/削除が妨げられます。

IList の実装は、読み取り専用、固定サイズ、可変サイズの 3 つのカテゴリに分類されます。読み取り専用の IList は変更できません。固定サイズの IList では、要素の追加や削除はできませんが、既存の要素を変更することはできます。可変サイズの IList では、要素の追加、削除、および変更が可能です。

こちらをご覧ください

于 2012-11-19T09:35:21.973 に答える
1

IListコレクションの実際のタイプが追加をサポートしている場合にのみ、項目を に追加できます。あなたの場合、そうではありません。たとえば、配列を使用している場合、追加はサポートされていません。

メソッドを使用してToList、コレクションをリストに変換できます。これにより、次の追加がサポートされます。

MyList = Listofmyclass.ToList();
于 2012-11-19T09:36:06.363 に答える