GCHandleType 枚举

定义

表示类型可以分配的 GCHandle 句柄类型。

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
继承
GCHandleType
属性

字段

Normal 2

此句柄类型表示不透明句柄,这意味着无法通过此句柄解析固定对象的地址。 可以使用此类型跟踪对象,并防止它被垃圾回收器回收。 当非托管客户端持有对托管对象的唯一引用(从垃圾回收器检测不到该引用)时,此枚举成员很有用。

Pinned 3

此句柄类型类似于 Normal,但允许使用固定对象的地址。 这将防止垃圾回收器移动对象,因此将降低垃圾回收器的效率。 使用 Free() 方法可尽快释放已分配的句柄。

Weak 0

此句柄类型用于跟踪对象,但允许回收该对象。 当回收某个对象时,GCHandle 的内容归零。 在终结器运行之前,Weak 引用归零,因此即使终结器使该对象复活,Weak 引用仍然是归零的。

WeakTrackResurrection 1

该句柄类型类似于 Weak,但如果对象在终结过程中复活,此句柄不归零。

适用于

另请参阅