C#中如何获取object等托管对象的Intptr?

2025-05-22 01:32:17
推荐回答(1个)
回答1:

.NET不允许直接访问对象地址。但为了和非托管DLL做交互.NET允许你为托管对象分配一个Intptr:
using System.Runtime.InteropServices;
object obj = new object();
GCHandle handle = GCHandle.Alloc(obj);
IntPtr ptr = GCHandle.ToIntPtr(handle);