GCHandleType 列舉
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示類型可以配置的句柄 GCHandle 類型。
public enum class GCHandleType
C#
public enum GCHandleType
C#
[System.Serializable]
public enum GCHandleType
C#
[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
- 繼承
- 屬性
名稱 | 值 | Description |
---|---|---|
Normal | 2 | 這個控制代碼型別表示不透明的控制代碼,意指您無法透過控制代碼解析固定物件的位址。 您可以使用這個型別來追蹤物件,避免它被記憶體回收行程回收。 當 Unmanaged 用戶端持有 Managed 物件的唯一參考,而且參考無法從記憶體回收行程偵測時,這個列舉成員就很有用。 |
Pinned | 3 | 這個控制代碼型別類似於 Normal,但是讓 Pin 物件的位址可以被取得。 這會避免記憶體回收行程移動物件,並因而減低記憶體回收行程的效能。 使用 Free() 方法儘快釋放配置的控制代碼。 |
Weak | 0 | 這個控制代碼型別被用來追蹤物件,但允許物件被回收。 當收集某個物件時,會將 GCHandle 的內容歸零。
|
WeakTrackResurrection | 1 | 這個控制代碼型別和 Weak 類似,但如果物件在結束期間重新恢復的話,控制代碼不會歸零。 |
產品 | 版本 |
---|---|
.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 |