c# - 如何在 C# 中使用 DLL 函数而不添加 DLL 作为引用?

标签 c# dll namespaces declaration

我正在尝试使用无法通过 Visual Studio 添加为引用的 DLL 中的函数(出现“无法添加引用”的消息)。但是,我从 DLL 的创建者那里得到了说明,他们建议我在 VB.Net 中像这样使用它们:

Private Declare Function Prn_Init Lib "VAx_VPOS396_APPAPI.dll" () As Integer

那行得通,但现在我想用 C# 编写一个程序。如何将该声明“翻译”为 C#?

附加:在 C++ 中,声明包含在带有以下几行的 *.h 文件中:
#ifndef  _VPOS396DLL_API_H
#define  _VPOS396DLL_API_H
VPOS396_DLL_API     int Prn_Init(void);

最佳答案

您应该创建要在 C# 中使用的方法,使它们 extern并添加一个 [DllImport]属性。例如:

[DllImport("kernel32.dll")]
static extern bool Beep(uint dwFreq, uint dwDuration);

https://msdn.microsoft.com/en-us/library/aa984739%28v=vs.71%29.aspx

关于c# - 如何在 C# 中使用 DLL 函数而不添加 DLL 作为引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30023748/

相关文章:

C++ - 类方法不会从 dll 中导出(VS - win)

Python OpenCV 将 mat ptr 传递给 C++ 代码

c - Windows API DLL 文件的许可证文件

c# - 使用正则表达式从字符串中查找并替换/删除两个单词#

c# - UINavigationController 和 UISplitviewController

c# - 如何触发 WPF 上下文菜单的关闭动画?

r - 如何将 S3 方法声明为默认加载环境?

function - 覆盖命名空间中导入的函数

ruby - ruby 中的短 namespace 首字母缩写词

c# - C# async 和 Java ExecutorService 的区别