这是一种复杂的情况。我正在重构(基础)c ++,它必须既用作CGI脚本又用作独立应用程序的核心。
不幸的是,我从大学开始就没有写过C ++,而且对c#/ Java更熟悉。所以我将使用WPF作为GUI。从我的研究揭示,这意味着我将:
1)在非托管C ++中重构基本代码(yay用于智能感知支持,是吗?)
2)将该基础包装在托管类库中
3)在C#/ WPF GUI中包装第2步,通过interop(CLI / CLR)引用它。
第2步,我有信心,将有充分的文件记录。但是,我从顶部开始,无法找到有关如何实例化和使用托管c ++中创建/公开的类的具体内容。
如果我有我的druthers(不需要核心效率),我只会在c#中写下整个内容,但我没有那个选择。
有人能指出我在第3步的正确方向,以便我可以开始研究它吗?我不希望任何人为我做功课(可以这么说),但我对这个过程的研究却毫无结果。
答案 0 :(得分:3)
如果将非托管C ++类包装在托管CLI / C ++对象中,则不需要Interop来调用托管类(Visual C ++将在同一个库中编译托管和非托管C ++)。
只需将混合托管/非托管库引用到托管C#应用程序,公开的托管对象就像任何普通对象一样。
要获得良好的起点,请查看this文章。