2009-07-15 10 views
2

これはC#(v3.0)Winformsの問題です。C#WinformsアプリケーションでBindingSourceから参照を削除するにはどうすればよいですか?

BindingSourceに関連付けられた大きなオブジェクトがあります。私はこのオブジェクトとBindingSourceを完了したら、オブジェクトを解放できるようにBindingSourceから参照を削除します。私はBindingSource.Clear()を使用しました。しかしその後、メモリプロファイラーでは、オブジェクトが生きているのを見ることができ、唯一の参照はBindingSource.lastCurrentItemからのものです。

私の質問は、どのようにBindingSourceから参照を削除する必要がありますか?ありがとう。

答えて

0

BindingSource.DataSource = nullと設定するとどうなりますか?

BindingSource.Clear()は、基になるリスト(BindingSource.List)のすべての要素を消去しますが、データソースへの参照は削除しません。 (Reference

+0

私はBindingSource.DataSource = nullを設定しようとしましたが、参照はまだありません。これは私に配線されています。 – Steve

+0

ところで、BindingSourceにはチェーンがあります。したがって、rootBS.DataSource = bigObject;そして、後で、childBS.DataSource = rootBS; childBS.DataMember = "xxx";これが当てはまるかどうかわからないのですが、rootObjectとchildBSの両方からbigObjectの参照を削除するために必要な特定の順序があります。ありがとう。 – Steve

関連する問題