DependentHandle Estructura

Definición

Representa un identificador de recolección de elementos no utilizados dependiente. El identificador mantendrá activa condicionalmente una instancia de objeto dependiente siempre que una instancia de objeto de destino también esté activa, sin representar una referencia segura a la instancia de destino.

public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
    interface IDisposable
Public Structure DependentHandle
Implements IDisposable
Herencia
DependentHandle
Implementaciones

Comentarios

Un DependentHandle valor con una instancia de objeto determinada como destino no hará que el destino se mantenga activo si no hay otras referencias seguras a ella, pero lo hará para la instancia de objeto dependiente siempre que el destino esté activo.

El uso de este tipo es conceptualmente equivalente a tener una referencia débil a una instancia de objeto de destino determinada A, con ese objeto que tiene un campo o una propiedad (o alguna otra referencia segura) a una instancia de objeto dependiente B.

El DependentHandle tipo no es seguro para subprocesos y los consumidores son responsables de garantizar que Dispose() no se llame simultáneamente con otras API. No hacerlo da como resultado un comportamiento indefinido.

En su lugar, las IsAllocatedpropiedades , TargetDependent, y TargetAndDependent son seguras para subprocesos y son seguras para usar si Dispose() no se invocan simultáneamente.

Constructores

DependentHandle(Object, Object)

Inicializa una nueva instancia de la DependentHandle estructura con los argumentos especificados.

Propiedades

Dependent

Obtiene o establece la instancia de objeto dependiente para el identificador actual.

IsAllocated

Obtiene un valor que indica si esta instancia se construyó con DependentHandle(Object, Object) y aún no se ha eliminado.

Target

Obtiene o establece la instancia de objeto de destino para el identificador actual. El destino solo se puede establecer en un null valor una vez creada la DependentHandle instancia. Si lo hace, también se iniciará Dependent la devolución null y se podrá optar a la recopilación incluso si el destino anterior sigue activo.

TargetAndDependent

Obtiene los valores de Target y Dependent (si están disponibles) como una operación atómica. Es decir, aunque Target se establezca nullsimultáneamente en , al llamar a este método se devolverán null tanto para el destino como para los dependientes, o bien se devolverán ambos valores anteriores. Si Target y Dependent se usaran secuencialmente en este escenario en su lugar, sería posible recuperar correctamente el destino anterior, pero después no obtener el dependiente.

Métodos

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

Se aplica a