GCHandleType Enumeration
Microsoft Silverlight will reach end of support after October 2021. Learn more.
This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.
Represents the types of handles the GCHandle class can allocate.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<ComVisibleAttribute(True)> _
Public Enumeration GCHandleType
[ComVisibleAttribute(true)]
public enum GCHandleType
Members
Member name | Description | |
---|---|---|
Weak | This handle type is used to track an object, but allow it to be collected. When an object is collected, the contents of the GCHandle are zeroed. Weak references are zeroed before the finalizer runs, so even if the finalizer resurrects the object, the Weak reference is still zeroed. | |
WeakTrackResurrection | This handle type is similar to Weak, but the handle is not zeroed if the object is resurrected during finalization. | |
Normal | This handle type represents an opaque handle, meaning you cannot resolve the address of the pinned object through the handle. You can use this type to track an object and prevent its collection by the garbage collector. This enumeration member is useful when an unmanaged client holds the only reference, which is undetectable from the garbage collector, to a managed object. | |
Pinned | This handle type is similar to Normal, but allows the address of the pinned object to be taken. This prevents the garbage collector from moving the object and hence undermines the efficiency of the garbage collector. Use the Free method to free the allocated handle as soon as possible. |
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.