我有一个现成的产品,支持编写未托管的C语言插件。它不支持托管的DLL,并且我偏好使用C#语言。
需要传回给现成产品的信息非常基本,可以保存在字符串中。
所以我想可以这样做:
1. 在C# DLL中编写大部分代码。 2. 在C++托管代码中编写包装器,调用我的C#方法。 3. 在未托管的C语言中编写基本的DLL,调用托管的C++ DLL。
现在,在托管的C++和C# DLL之间通信很容易。
但是我无法弄清楚如何从未托管的C DLL中调用托管的C++函数。 如果能提供一些简单的示例代码帮助解决问题,将不胜感激。
谢谢!
编辑: 我创建了一个Code Project文章,介绍了如何使用Alex下面的答案实现此目标。 http://www.codeproject.com/Tips/695387/Calling-Csharp-NET-methods-from-unmanaged-code
需要传回给现成产品的信息非常基本,可以保存在字符串中。
所以我想可以这样做:
1. 在C# DLL中编写大部分代码。 2. 在C++托管代码中编写包装器,调用我的C#方法。 3. 在未托管的C语言中编写基本的DLL,调用托管的C++ DLL。
现在,在托管的C++和C# DLL之间通信很容易。
但是我无法弄清楚如何从未托管的C DLL中调用托管的C++函数。 如果能提供一些简单的示例代码帮助解决问题,将不胜感激。
谢谢!
编辑: 我创建了一个Code Project文章,介绍了如何使用Alex下面的答案实现此目标。 http://www.codeproject.com/Tips/695387/Calling-Csharp-NET-methods-from-unmanaged-code