新的Visual Studio 2012删除了Windows窗体应用程序(WFA)作为模板。微软之所以这样说,是因为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#代码中呢?
我认为您需要专门创建一个managed-class;例如
ref class Foo
{
String ^managedString;
};
和公共变量也必须是托管类型;
看如果你在c#项目中添加c++/cli类库作为引用,你将能够在命名空间中看到类,并像使用其他类一样使用它们。