2

新的 Visual Studio 2012 已将 Windows 窗体应用程序 (WFA) 作为模板删除。MS 指出,这样做的原因是 VC++ 不是制作 GUI 的最佳方式。因此,为了获得最大的性能和可移植性,我想使用 C++ 进行数字运算,使用 C# 进行 GUI。

由于我是从零开始,我认为没有理由不使用 C++/CLI 进行 C++ 开发——因此所有 C++ 都将在托管 C++ 中。我知道我可以使用 C++ DLL,但我不愿意。

我可以将 C++/CLI 项目添加到还包含 C# WFA 项目的解决方案中。我可以运行 C++/CLI 项目以使所有 C++ 正常工作。但我对让 C# 项目访问 C++/CLI 类的最佳方式感到困惑。当我向 C# 项目“添加引用”时,它允许我添加 C++/CLI 项目作为引用。但是如何将 C++ 中定义的类添加到 C# 代码中?

4

1 回答 1

2

我相信您需要专门制作一个托管班;IE

ref class Foo
{
    String ^managedString; 
};

并且公共变量也必须是托管类型;

如果您将 c++/cli 类库作为引用添加到您的 c# 项目中,您将能够在命名空间中看到该类并像使用任何其他类一样使用它们。

于 2013-03-03T22:20:25.163 回答