Unsafe.AsPointer<T>(T) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重要
此 API 不符合 CLS。
将托管指针转换为非托管指针。
public:
generic <typename T>
static void* AsPointer(T % value);
[System.CLSCompliant(false)]
public static void* AsPointer<T>(ref readonly T value) where T : allows ref struct;
public static void* AsPointer<T>(ref T value);
[System.CLSCompliant(false)]
public static void* AsPointer<T>(ref T value);
[System.CLSCompliant(false)]
public static void* AsPointer<T>(ref T value) where T : allows ref struct;
[<System.CLSCompliant(false)>]
static member AsPointer : 'T -> nativeptr<unit>
static member AsPointer : 'T -> nativeptr<unit>
类型参数
- T
托管指针的元素类型。
参数
- value
- T
要转换的托管指针。
返回
Void*
与原始源指针对应的非托管指针。
- 属性
注解
.NET垃圾回收器不会跟踪非托管指针。 如果 GC 托管对象中的原始托管指针指向,则调用方必须确保固定源对象。 如果未固定源对象,并且 GC 重新定位该对象,取消引用非托管指针可能会导致访问冲突。