Этот кэш хранит все значения с помощью WeakReference<T>. Его метод Add передает объект, для которого мы хотели бы использовать слабую ссылку в качестве аргумента конструктора для нового объекта WeakReference<T>. Метод TryGetValue пытается получить значение, ранее сохраненное с помощью Add. Сначала проверяется, содержит ли словарь соответствующую запись. Если содержит, то значением этой записи будет WeakReference<T>, которую мы создали ранее. Мой код вызывает метод TryGetTarget слабой ссылки, который вернет true, если объект все еще доступен, и false, если нет.
Программируем на C# 8.0. Разработка приложений
·
Иэн Гриффитс