DependentHandle Estrutura
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um identificador de coleta de lixo dependente. O identificador manterá condicionalmente uma instância de objeto dependente ativa, desde que uma instância de objeto de destino também esteja ativa, sem representar uma referência forte à instância de destino.
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- Herança
- Implementações
Comentários
Um DependentHandle valor com uma determinada instância de objeto como destino não fará com que o destino seja mantido ativo se não houver outras referências fortes a ela, mas o fará para a instância de objeto dependente, desde que o destino esteja ativo.
O uso desse tipo é conceitualmente equivalente a ter uma referência fraca a uma determinada instância de objeto de destino A, com esse objeto tendo um campo ou propriedade (ou alguma outra referência forte) a uma instância de objeto dependente B.
O DependentHandle tipo não é thread-safe e os consumidores são responsáveis por garantir que isso Dispose() não seja chamado simultaneamente com outras APIs. Não fazer isso resulta em um comportamento indefinido.
As IsAllocatedpropriedades , DependentTarget, e TargetAndDependent são, em vez disso, thread-safe e seguras para usar se Dispose() não for invocada simultaneamente também.
Construtores
DependentHandle(Object, Object) |
Inicializa uma nova instância do DependentHandle struct com os argumentos especificados. |
Propriedades
Dependent |
Obtém ou define a instância de objeto dependente para o identificador atual. |
IsAllocated |
Obtém um valor que indica se essa instância foi construída com DependentHandle(Object, Object) e ainda não foi descartada. |
Target |
Obtém ou define a instância do objeto de destino para o identificador atual. O destino só pode ser definido como um |
TargetAndDependent |
Obtém os valores de Target e Dependent (se disponíveis) como uma operação atômica.
Ou seja, mesmo que Target seja definido simultaneamente como |
Métodos
Dispose() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. |