Partilhar via


GCHandleType Enumeração

Definição

Representa os tipos de identificadores que o GCHandle tipo 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

Normal 2

Esse tipo de identificador representa um identificador opaco, o que significa que não é possível resolver o endereço do objeto fixo por meio do identificador. Você pode usar este tipo para controlar um objeto e impedir sua coleção pelo coletor de lixo. Este membro de enumeração é útil quando um cliente não gerenciado contém somente a referência, que é indetectável do coletor de lixo, para um objeto gerenciado.

Pinned 3

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

Weak 0

Esse tipo de identificador é usado para controlar um objeto, mas permite que ele seja coletado. Quando um objeto for coletado, o conteúdo de GCHandle será zerado. Referências Weak são zeradas antes do finalizador ser executado, então mesmo que o finalizador levante o objeto, a referência Weak ainda é zerada.

WeakTrackResurrection 1

Esse tipo de identificador é semelhante ao Weak, mas o identificador não é zerado se o objeto é reativado durante a finalização.

Aplica-se a

Confira também