回 帖 发 新 帖 刷新版面

主题:[讨论]DllImport 特性疑问

C# 中的Windows Dll 库没有元数据(metadata),故因此使用DllImport 特性来通知C# 编译器DLL 中实现了的方法和类。但是看下面的示例
[DllImport("advapi32.dll", ExactSpelling=true, SetLastError=true)]
光光 这个 [DllImport("advapi32.dll", ExactSpelling=true, SetLastError=true)]并没有什么信息呀?
我感觉真正提供了这种信息的还是
internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);
这个函数声明,不知道大家有什么感想?

回复列表 (共1个回复)

沙发

[]里面的内容是attribute,既然是attribute那当然必须附属在一个主体上面,而这个主体就是函数的声明
在使用P/Invoke的过程中,两者缺一不可,如果光有函数声明,编译器自然不知道这个函数要映射到哪个dll中

我来回复

您尚未登录,请登录后再回复。点此登录或注册