これは非常に単純化されているため、これまでに尋ねられたことがないか、以前に尋ねられたことがある質問ですが、私は間違った質問をしています。
だから私はWinFormList<MyObject>
のListBox
コントロールにデータバインドしているとしましょう。
そのようです:
List<MyObject> list = new List<MyObject>();
// add some MyObjects to list...
myListBox.DataSource = new BindingSource(list, null);
次に、後でそのデータバインドされたリストへのアクセスを取得したいとします。
このようなものはうまくいくと思いました...
List<MyObject> results = (List<MyObject>)myListBox.DataSource;
DataSource
Visual Studio では、 のプロパティにmyListBox
のリストが含まれていることがはっきりとわかりますがMyObjects
、キャストの結果はInvalidCastException
.
これを達成する効果的な方法はありますか?それとも、元のリストを保持する必要がありますか?