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
- Наследование
- Атрибуты
Поля
Normal | 2 | Этот тип дескриптора предоставляет непрозрачный дескриптор, то есть адрес закрепленного объекта, используемый дескриптором, нельзя разрешить с помощью дескриптора. Этот тип можно использовать для отслеживания объекта и предотвращения его уничтожения сборщиком мусора. Этот член перечисления используется, когда неуправляемый клиент содержит только одну ссылку на управляемый объект, которую не может обнаружить сборщик мусора. |
Pinned | 3 | Этот тип дескриптора аналогичен Normal, но он позволяет работать с адресом закрепленного объекта. Это не позволяет сборщику мусора перемещать объект. В результате эффективность сборщика мусора снижается. Для максимально быстрого освобождения выделенного дескриптора следует использовать метод Free(). |
Weak | 0 | Этот тип дескриптора используется для отслеживания объекта, но позволяет выполнять его сбор. При сборе объекта содержимое объекта GCHandle обнуляется. Перед запуском метода завершения ссылки |
WeakTrackResurrection | 1 | Этот тип дескриптора аналогичен Weak, но дескриптор не обнуляется при восстановлении объекта в процессе завершения. |