ObjectCollection アイテムを IList(Of SomeType) に追加するにはどうすればよいですか? 私は試してみました:
For Each obj As SomeType In listBox.Items 'ObjectCollection
MyObject.ItProperty.Add(obj) 'IList
Next
失敗。ありがとうございました。
ObjectCollection アイテムを IList(Of SomeType) に追加するにはどうすればよいですか? 私は試してみました:
For Each obj As SomeType In listBox.Items 'ObjectCollection
MyObject.ItProperty.Add(obj) 'IList
Next
失敗。ありがとうございました。
可能であれば、非ジェネリックIListインターフェイスが最も簡単なアプローチになります。
IList list = (IList)MyObject.ItProperty;
list.Add(obj);
それ以外の場合は、次のことを行う必要があります。
T(反射を使用)Addからメソッドを解決しますIList<T>Add(リフレクションを使用)特にジェネリック医薬品についてのその反省は良くありません。
別の方法として、4.0を使用している場合は、を使用してみることができますがdynamic、これにはパブリックAPIのみが表示されることに注意してください。ただし、試してみる価値はあります(IList失敗した場合のみ):
dynamic list = MyObject.ItProperty;
list.Add(obj); // let's hope Add isn't an explicit interface implementation
何がどこで失敗したかについて詳細を追加できますか? コードが機能するはずです。
"Unable to cast object of type 'XXX' to type 'SomeType'."" " 行で例外が発生した場合For Each objは、listBox.Items コレクションに「SomeType」タイプではない項目が少なくとも 1 つあります。