新的 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# 代码中呢?
最佳答案
我相信你需要专门创建一个托管类;即
ref class Foo
{
String ^managedString;
};
并且公共(public)变量也必须是托管类型;
如果将 c++/cli 类库添加为 c# 项目中的引用,您将能够在命名空间中看到该类,并像任何其他类一样使用它们。
关于.net - 将托管 C++ 添加到 C# GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15188858/