다음을 통해 공유


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의 내용은 0이 됩니다. 종료자가 실행되기 전에 Weak 참조가 0이 되므로 종료자가 개체를 재활용하더라도 Weak 참조는 계속 0이 됩니다.

WeakTrackResurrection 1

이 핸들 형식은 Weak와 유사하지만 종료 중에 개체가 재활용되어도 핸들이 0이 되지 않습니다.

적용 대상

추가 정보