GCHandleType Enumeração

Definição

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

C#
public enum GCHandleType
C#
[System.Serializable]
public enum GCHandleType
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum GCHandleType
Herança
GCHandleType
Atributos

Campos

Nome Valor Description
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

Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Confira também