DllImport vs在VB.NET中声明

我在MSDN文档中注意到,有一个 multiple ways可以在VB.NET程序中声明对外部DLL中的函数的引用.

令人困惑的是,MSDN声称您只能使用具有共享函数原型“in rare cases”的DllImportAttribute类,但是我找不到此语句的解释,而您可以简单地使用Declare关键字.

为什么这些不同,我在哪里适当地使用每种情况?

声明的确是维持一个 P/Invoke语法,这将比较熟悉Visual Basic 6.0用户转换为 VB.NET.它具有许多与P / Invoke相同的功能,但某些类型,特别是字符串的编组是非常不同的,可能会对人们更加熟悉DllImport规则造成一点混乱.

我不完全相信这些文件是以“罕见”的区别所暗示的.我的代码中经常使用DllImport从VB.NET和C#没有问题.

一般来说,我将使用DllImport over Declare,除非你来自Visual Basic 6.0背景. DllImport的文档和示例更好,有许多工具旨在生成DllImport声明.

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...