在C#和C ++之间交换对象

时间:2010-02-11 15:37:04

标签: c# .net c++ xml serialization

想象一个带有C#组件和C ++组件的项目。 C ++组件是老式非.Net的东西(VC ++ 6.0)。在两个组件之间传输对象的简单方法是什么?我很想使用System.Xml.XmlSerializer,但我不知道如何使用这个旧的VC ++应用程序开始使用.Net库。

也许有一种更简单的方法,我没有考虑过。有什么建议吗?

5 个答案:

答案 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内容。