想象一个带有C#组件和C ++组件的项目。 C ++组件是老式非.Net的东西(VC ++ 6.0)。在两个组件之间传输对象的简单方法是什么?我很想使用System.Xml.XmlSerializer,但我不知道如何使用这个旧的VC ++应用程序开始使用.Net库。
也许有一种更简单的方法,我没有考虑过。有什么建议吗?
答案 0 :(得分:5)
看看C ++ / CLI。你可以用它来编写一个可以在两个世界之间进行转换的包装器。
答案 1 :(得分:4)
您对使用COM感觉如何? .NET应用程序既可以使用COM对象,也可以将它们作为COM对象公开。
答案 2 :(得分:2)
使C ++成为COM对象?
答案 3 :(得分:0)
如果您的C ++组件是非托管DLL,则导出C风格的函数"Platform Invoke"是另一种选择。此技术允许从.NET(C#)托管代码访问非托管C ++代码,但不允许从另一个方向访问。
答案 4 :(得分:0)
根据项目的大小,我将使用VS 2008将VC6重新编译为C ++ / CLI。然后您可以直接访问.net内容。