c# - 如何从 C# 访问非托管数据

标签 c# .net dll unmanaged

我有一个非托管 (C/C++) DLL,我需要从 C# 应用程序调用它。

DLL 调用需要将数据(从 DLL 创建的 C++ 类)返回到 C# 应用程序。

我可以控制 DLL 的导出函数,因此我可以在必要时围绕 C++ 类创建一个包装器。我知道如何使用 p/Invoke 访问 DLL,所以我只是在寻找一些关于如何返回数据的指导。

从 DLL 接收到的数据是一系列键值对,所以我在考虑返回一个 JSON 字符串并使用 Json.NET 将其反序列化为一个对象。

从 C#/.NET 应用程序的非托管源访问此类数据的首选方法是什么?

最佳答案

如果您能够修改 C++ DLL,那么 C++/CLI 可能是最干净的。您将能够直接用 C++ 编写一组 .NET 包装器类,而无需编写单独的 P/Invoke 声明。

关于c# - 如何从 C# 访问非托管数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3425907/

相关文章:

c# - 我怎样才能删除最后一部分?

c# - 有趣的代码片段

java - 如何使用 java 项目在 eclipse 中调试 native jni c++ 代码

c++ - “The value of ESP was not properly saved across a function call.”

c# - 如何从 URI 下载图像并从中创建位图对象?

c# - 我应该强烈命名所有程序集吗?

c# - 如何从字符串中去除非字母数字字符(包括空格)?

c# - 如何在 ASP.NET 中重写我的 URL?

.net - 在 DataTrigger 条件下使用绑定(bind)

c# - 在c#代码中调用C++ dll