GCHandleType Enumeração

Definição

Representa os tipos de identificadores que o tipo de GCHandle pode alocar.

public enum class GCHandleType
public enum GCHandleType
[System.Serializable]
public enum GCHandleType
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum GCHandleType
type GCHandleType = 
[<System.Serializable>]
type GCHandleType = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GCHandleType = 
Public Enum GCHandleType
Herança
GCHandleType
Atributos

Campos

Nome Valor Description
Weak 0

Esse tipo de identificador é usado para rastrear um objeto, mas permite que ele seja coletado. Quando um objeto é coletado, o conteúdo do GCHandle é zero. Weak as referências são zerados antes da execução do finalizador, portanto, mesmo que o finalizador ressuscite o objeto, a Weak referência ainda será zerado.

WeakTrackResurrection 1

Esse tipo de identificador é semelhante a Weak, mas o identificador não será zerado se o objeto for ressuscitado durante a finalização.

Normal 2

Esse tipo de identificador representa um identificador opaco, o que significa que você não pode resolver o endereço do objeto fixado por meio do identificador. Você pode usar esse tipo para rastrear um objeto e impedir sua coleta pelo coletor de lixo. Esse membro de enumeração é útil quando um cliente não gerenciado mantém a única referência, que é indetectável do coletor de lixo, para um objeto gerenciado.

Pinned 3

Esse tipo de identificador é semelhante a Normal, mas permite que o endereço do objeto fixado seja usado. Isso impede que o coletor de lixo mova o objeto e, portanto, prejudica a eficiência do coletor de lixo. Use o Free() método para liberar o identificador alocado o mais rápido possível.

Aplica-se a

Confira também