[英]Why must P/Invoke functions be static in C#?
看代码:
class VirtualMemoryManager
{
[DllImport("kernel32.dll",EntryPoint="GetCurrentProcess")]
internal static extern IntPtr GetCurrentProcessHandle();
}
为什么“ GetCurrentProcessHandle”必须“静态”
这是P / Invoke方法的要求,因为Windows API中没有实例的一致概念。
来源: http : //msdn.microsoft.com/en-us/magazine/cc164123.aspx
外部导入的函数本质上是静态的。 通过使它们不静态,他们将不会获得任何收益。 实例方法可以使用局部变量,这对于dll导入例程而言是不可能的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.