IDictionary, IList 및 기본 유형 (string 및 ints)으로 구성된 계층 적 목록을 반환하는 라이브러리가 있습니다. 현재이 데이터가 반환되는 방식을 변경할 수 없습니다.가비지 수집기 질문
나는이 데이터를 소비하고이를 비즈니스 오브젝트로 변환하는 강하게 유형화 된 클래스가 있습니다. 반환 된 데이터에 "속성"목록이 있습니다.이 속성은 강력한 형식의 클래스로 가져 오려고합니다. 그런 다음 계층 구조를 처리 할 수 있습니다.
내 질문은 이것이다 : 나는이 작업을 수행 할 경우 MyCustomClass 내 강력한 형식의 클래스이며, HierarchicalData가 나중에 호출 할 때 어떻게됩니까 IDictionary 데이터 인 경우
MyCustomClass.Properties = HierarchicalData["some_name"]
:
HierarchicalData = null
을 수 계층 적 데이터가 삭제되고 배포됩니까? 이 경우 "some_data"는 다른 사전이므로 기술적으로 모든 것을 보관해야합니다.
MyCustomClass.Properties = HierarchicalData["some_name"].ToDictionary<string, string>(/* selector */)
대한 설명 : 같은, 내가 대신 수입의 명시 사본을해야합니까 내가 쓰레기 수집되는 속성을 포함하는 사전 걱정 아닙니다. 꽤 큰 HierarchicalData __can__을 삭제하려고합니다. 그리고 나는 그것들 중 몇개와 함께 작업해야합니다.
'사전'은 'IDisposable'을 구현하지 않으므로 삭제할 필요가 없습니다. GC로 수집하기를 원할뿐입니다. – SLaks
예, 여기에 제가 처분한다고 할 때 Dispose()와 같이 컬렉션의 대상이 아니므로 컬렉션 대상이 아닙니다. – GrayWizardx