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, TargetDependentа TargetAndDependent также являются потокобезопасными и безопасными для использования, если Dispose() они не вызываются одновременно.
Конструкторы
| Имя | Описание |
|---|---|
| DependentHandle(Object, Object) |
Инициализирует новый экземпляр DependentHandle структуры с указанными аргументами. |
Свойства
| Имя | Описание |
|---|---|
| Dependent |
Возвращает или задает зависимый экземпляр объекта для текущего дескриптора. |
| IsAllocated |
Возвращает значение, указывающее, был ли создан этот экземпляр и DependentHandle(Object, Object) еще не удален. |
| Target |
Возвращает или задает целевой экземпляр объекта для текущего дескриптора. Целевой объект можно задать |
| TargetAndDependent |
Возвращает значения обоих Target и Dependent (если они доступны) в виде атомарной операции.
То есть, даже если Target одновременно задано |
Методы
| Имя | Описание |
|---|---|
| Dispose() |
Выполняет определяемые приложением задачи, связанные с освобождением, освобождением или сбросом неуправляемых ресурсов. |