2013-03-03 49 views
1

新的Visual Studio 2012已將Windows窗體應用程序(WFA)作爲模板刪除。 MS的原因是,VC++不是實現GUI的最佳方式。所以爲了獲得最大的性能和可移植性,我想使用C++進行數字運算,並使用C#作爲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#代碼中?

+0

我會誠實的說,如果你從頭開始......用C#做這一切。 – 2013-03-03 22:30:20

+0

C++/CLI的要點是可以輕鬆與非託管C++代碼進行互操作。在C++/CLI中只編寫* ref類*會影響目的,它會生成與C#完全相同的代碼。 – 2013-03-04 01:29:33

回答

1

我相信你需要專門做一個託管班;即

ref class Foo 
{ 
    String ^managedString; 
}; 

並且公共變量也必須是託管類型;

See

如果添加了C++/CLI類庫爲C#項目的引用,你就可以看到命名空間中的類,並使用它們像任何其他類。