我一直在阅读 IntPtr 并读到它用于表示句柄。这到底是什么意思?我敢肯定这是一个简单的解释,但灯泡目前没有打开..
问问题
8029 次
2 回答
8
这通常是指操作系统句柄,并在内部使用。例如,Windows 窗体使用 anIntPtr
来引用控件的本机窗口句柄 (HWND)。
Windows API 中的句柄用于许多事情 - 大多数与操作系统相关的资源(文件、套接字、窗口等)都通过句柄公开,这实际上是一个指针。在托管代码中,它存储在IntPtr
.
话虽如此,IntPtr
它也经常用于在互操作场景中存储指针,因为它会根据 32 位或 64 位代码自动调整大小。
于 2011-04-14T18:04:35.453 回答
6
“句柄”是“不透明指针”。它是操作系统提供给应用程序以表示内部对象的值(通常只是一个数字,它是数组的索引),而不是给它一个指向实际对象的指针。这是出于安全和抽象的原因——它强制应用程序仅通过提供的 API 使用句柄。
于 2011-04-14T18:03:21.257 回答