2009-07-15 2 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"; 이것이 사실인지 모르겠다. rootBS와 childBS에서 bigObject의 참조를 제거하기 위해 따라야하는 특정 순서가 있는가? 감사. – Steve

관련 문제