Во -первых, я боюсь проблемы с утечкой памяти здесь. Потому что я использую какой -то словарь для хранения метаданных с ключом самого объекта. Таким образом, я могу искать метаданные (которые должны быть динамическими), передавая объект. по своему экземпляру.
Этот вид хранения выглядит очень похоже на то, что в зависимости от < /code> в WPF. Мы можем объявить DevidencyProperty (прикрепленное свойство), чтобы расширить зависимость (метаданные содержатся в прикрепленном свойстве).
Вот что я имею:
Код: Выделить всё
Dictionary _metadataLookup = new Dictionary();
//to store metadata
_metadataLookup[someObject] = someMetaData;
//to get metadata
SomeMetaData someMetaData;
_metadataLookup.TryGetValue(someObject, out someMetaData);
Было бы хорошо, если бы время жизни ComeObject совпадает с временем срока службы с использованием _metadatalookup . Но что, если кто -то (после сохранения в _metadatalookup ) должен быть уничтожен (логически становится неиспользованным)? Мы должны вручную удалить его с _metadatalookup , в противном случае есть утечка памяти. Объекты вручную или просто не знают, когда объекты должны быть удалены здесь, являются проблемой.
Подробнее здесь:
https://stackoverflow.com/questions/534 ... -an-object