DependentHandle Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет зависимый дескриптор сборки мусора. Дескриптор будет условно поддерживать зависимый экземпляр объекта в активном виде, пока экземпляр целевого объекта также активен, не представляя строгой ссылки на целевой экземпляр.
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- Наследование
- Реализации
Комментарии
Значение DependentHandle с заданным экземпляром объекта в качестве целевого объекта не приведет к тому, что целевой объект будет поддерживаться в активном виде, если на него нет других строгих ссылок, но он будет делать это для зависимого экземпляра объекта, пока целевой объект жив.
Использование этого типа концептуально эквивалентно слабой ссылке на заданный экземпляр целевого объекта A, а этот объект имеет поле или свойство (или другую строгой ссылку) на экземпляр зависимого объекта B.
Тип DependentHandle не является потокобезопасной, и потребители отвечают за то, что Dispose() не вызывается одновременно с другими API. Отсутствие этого приводит к неопределенному поведению.
Вместо IsAllocatedэтого свойства , Target, Dependentи TargetAndDependent являются потокобезопасными и безопасными для использования, если Dispose() также не вызывается параллельно.
Конструкторы
DependentHandle(Object, Object) |
Инициализирует новый экземпляр DependentHandle структуры с указанными аргументами. |
Свойства
Dependent |
Возвращает или задает экземпляр зависимого объекта для текущего дескриптора. |
IsAllocated |
Возвращает значение, указывающее, был ли этот экземпляр создан с DependentHandle(Object, Object) помощью и еще не удален. |
Target |
Возвращает или задает экземпляр целевого объекта для текущего дескриптора. Целевому объекту можно задать |
TargetAndDependent |
Возвращает значения и TargetDependent (если доступно) в виде атомарной операции.
То есть, даже если Target одновременно задано значение |
Методы
Dispose() |
Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов. |
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по