0

ArrayList を使用して、BindingList にバインドしようとしています...

入れようとすると(Option Strict Onがあります)、実装したキャストの提案が表示されます-

それでも、何を試しても実行時エラーが発生し続けます。

Unable to cast object of type 'ArrayList' to type 'IList`

コード:

Dim myBoundList As System.ComponentModel.BindingList(Of something) =
    New System.ComponentModel.BindingList(Of something)
      (CType(myArrayList, System.Collections.Generic.IList(Of something)))

.ToArray を挿入しようとしました...

リンクhttps://stackoverflow.com/a/8770832/1217150で受け入れられた回答は、まったく同じことを行い(意図は反対ですが)、試してみました...(つまり、IListアイテムを作成します、および割り当て

IList iList = new ArrayList();

それは私に同じエラーを与えます...

私は VB.NET を使用していますが、c# も役立ちます。助けてください。ありがとうございました。

4

2 に答える 2

1

List非ジェネリックを使用するのではなく、ジェネリック クラス (.NET タイプ) を使用してチェックアウトする必要がありますArrayList。これはあなたの問題に関連している可能性があると思います。おそらく、非ジェネリックArrayListIList<T>( IListのジェネリックバージョン) にキャストしようとしています。

于 2012-09-14T02:31:53.437 に答える
0

配列リストをアイテムとしてリストボックスに追加しようとしている場合は、次のコードを使用できます。

private void Form1_Load(object sender, EventArgs e)
{
    // Create a new array list.
    ArrayList list = new ArrayList();

    // Add items to the array list
    list.Add("MyItem1");
    list.Add("MyItem2");
    list.Add("MyItem3");

    //Set the data source of the listbox as the array list
    listBox1.DataSource = list;
}
于 2012-09-14T03:34:52.383 に答える