我在MSDN文档中注意到,有一个
multiple ways可以在VB.NET程序中声明对外部DLL中的函数的引用.
@H_404_8@
声明的确是维持一个
P/Invoke语法,这将比较熟悉Visual Basic 6.0用户转换为
VB.NET.它具有许多与P / Invoke相同的功能,但某些类型,特别是字符串的编组是非常不同的,可能会对人们更加熟悉DllImport规则造成一点混乱.
令人困惑的是,MSDN声称您只能使用具有共享函数原型“in rare cases”的DllImportAttribute类,但是我找不到此语句的解释,而您可以简单地使用Declare
关键字.
为什么这些不同,我在哪里适当地使用每种情况?
我不完全相信这些文件是以“罕见”的区别所暗示的.我的代码中经常使用DllImport从VB.NET和C#没有问题.
一般来说,我将使用DllImport over Declare,除非你来自Visual Basic 6.0背景. DllImport的文档和示例更好,有许多工具旨在生成DllImport声明.