将c#/WPF GUI围绕c++/cli围绕本机c++包装

本文关键字:c++ 本机 包装 cli 围绕 WPF GUI | 更新日期: 2023-09-27 17:59:10

这是一种复杂的情况。我正在重构c++,它必须同时用作CGI脚本和独立应用程序的核心。

不幸的是,我从大学起就没有写过C++,对C#/Java更熟悉。因此,我将使用WPF作为GUI。根据我的研究结果,这意味着我将成为:

1) 在非托管C++中重构基代码(是为了支持intellisense吗?)

2) 将该基础封装在托管类库中

3) 在C#/WPF GUI中封装步骤2,通过互操作(CLI/CLR)引用它。

我相信,第二步会有很好的记录。然而,我从顶部开始,找不到任何关于如何实例化和使用在托管c++中创建/公开的类的具体内容。

如果我有自己的苦衷(不需要核心效率),我会用c#写整个东西,但我没有这个选择。

有人能为我指明第三步的正确方向吗?这样我就可以开始研究了?可以说,我不想让任何人帮我做作业,但我自己对这个过程的研究毫无结果。

将c#/WPF GUI围绕c++/cli围绕本机c++包装

如果将非托管C++类封装在托管CLI/C++对象中,则不需要Interop来调用托管类(Visual C++将在同一库中编译托管和非托管C++)。

只需将托管/非托管混合库引用到您的托管C#应用程序,暴露的托管对象就会像任何普通对象一样工作。

为了获得一个好的起点,请查看这篇文章。