У меня есть библиотека, которая возвращает иерархический список, состоящий из типов IDictionary, IList и примитивов (string и ints). В настоящее время я не могу изменить способ возврата этих данных.
У меня есть другой строго типизированный класс, который использует эти данные и преобразует их в бизнес-объекты. В возвращаемых данных есть список «свойств», которые я хочу импортировать в мой строго типизированный класс. Затем я могу распоряжаться иерархией.
У меня такой вопрос: если я сделаю это:
MyCustomClass.Properties = HierarchicalData["some_name"]
Где MyCustomClass - мой строго типизированный класс, а HierarchicalData - данные IDictionary, что происходит, когда я позже вызываю:
HierarchicalData = null
Могут ли иерархические данные быть утилизированы и выпущены? «some_data» в данном случае - это другой словарь, и технически это все, что нужно сохранить. Нужно ли делать явную копию вместо импорта, например:
MyCustomClass.Properties = HierarchicalData["some_name"].ToDictionary<string, string>( /* selector */)
Пояснение: меня не волнует словарь, содержащий свойства, которые собирают мусор. Я хочу убедиться, что HierarchicalData __can__ удаляется, так как он довольно большой, и мне нужно работать с несколькими из них.