4

我有一个 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 似乎是其他语言?

4

2 回答 2

4

请查看以下关于代码项目的文章以获得深入的解释

链接文章中的一个小样本如下所示

要调用函数,请说methodName

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

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

class Program
{
   [DllImport(@"c:\MethodNameLibrary.dll")]
   private static extern int methodName(int b);
   static void Main(string[] args)
   {
       Console.WriteLine(methodName(3));
   }
}
于 2013-04-09T07:01:37.583 回答
0

使用DllImportMarshalAs属性。

于 2013-04-09T06:51:36.707 回答