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() |
Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов. |