DependentHandle Estrutura
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa um handle dependente de recolha de lixo. O handle manterá condicionalmente uma instância de objeto dependente viva enquanto uma instância de objeto alvo também estiver viva, sem representar uma referência forte à instância alvo.
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- Herança
- Implementações
Observações
Um DependentHandle valor com uma dada instância de objeto como alvo não fará com que o alvo seja mantido vivo se não houver outras referências fortes a ele, mas fará isso para a instância do objeto dependente enquanto o alvo estiver vivo.
Usar este tipo é conceptualmente equivalente a ter uma referência fraca a uma dada instância de objeto alvo A, com esse objeto a ter um campo ou propriedade (ou alguma outra referência forte) a uma instância de objeto dependente B.
O DependentHandle tipo não é seguro para threads, e os consumidores são responsáveis por garantir que não Dispose() é chamado em simultâneo com outras APIs. Não o fazer resulta num comportamento indefinido.
As IsAllocatedpropriedades , Target, Dependent, e TargetAndDependent são, em vez disso, thread-safe, e seguras de usar se Dispose() não forem invocadas simultaneamente.
Construtores
| Name | Description |
|---|---|
| DependentHandle(Object, Object) |
Inicializa uma nova instância da DependentHandle estrutura com os argumentos especificados. |
Propriedades
| Name | Description |
|---|---|
| Dependent |
Obtém ou define a instância dependente do objeto para o handle atual. |
| IsAllocated |
Obtém um valor que indica se esta 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 handle atual. O destino só pode ser definido para um |
| TargetAndDependent |
Obtém os valores de ambos Target e Dependent (se disponível) como uma operação atómica.
Ou seja, mesmo que Target esteja simultaneamente definido como |
Métodos
| Name | Description |
|---|---|
| Dispose() |
Realiza tarefas definidas pela aplicação associadas à libertação, libertação ou reinício de recursos não geridos. |