在c#代码中导入DLL函数

时间:2013-04-09 06:47:00

标签: c# c++ c dllimport extern

我有一个DLL,我希望在我的c#代码中使用它的功能 以下是该DLL的功能:

extern "C"
{
  __declspec(dllimport)
  const char* __stdcall ZAJsonRequestA(const char *szReq);

  __declspec(dllimport)
  const wchar_t* __stdcall ZAJsonRequestW(const wchar_t *szReq);

  __declspec(dllimport)
  const BSTR __stdcall ZAJsonRequestBSTR(BSTR sReq);
}

有人能告诉我如何在c#项目中使用它,因为这个dll似乎是用其他语言编写的吗?

2 个答案:

答案 0 :(得分:4)

请参阅代码项目中的以下article以获得深入解释

来自链接文章的小样本如下所示

要调用函数,请说 methodName

int __declspec(dllexport) methodName(int b)
{
      return b;
}

包含包含上述方法的类库(MethodNameLibrary.dll),如下所示c#

class Program
{
   [DllImport(@"c:\MethodNameLibrary.dll")]
   private static extern int methodName(int b);
   static void Main(string[] args)
   {
       Console.WriteLine(methodName(3));
   }
}

答案 1 :(得分:0)

使用DllImportMarshalAs属性。