2013-03-03 2 views
1

새 Visual Studio 2012에서 Windows Forms 응용 프로그램 (WFA)을 템플릿으로 제거했습니다. 그 이유는 MS가 VC++가 GUI를 수행하는 최선의 방법이 아니라는 것입니다. 따라서 성능과 이식성을 극대화하기 위해 C++을 GUI로 사용하고 C#으로 GUI를 사용하고 싶습니다.C# GUI에 관리되는 C++ 추가

저는 처음부터 시작 했으므로 C++ 개발에 C++/CLI를 사용하지 않을 이유가 없습니다. 따라서 모든 C++은 관리되는 C++에 포함될 것입니다. 나는 C++ DLL을 사용할 수 있다고 이해하지만 오히려하지 않을 것이다.

C#/WFA 프로젝트가 포함 된 솔루션에 C++/CLI 프로젝트를 추가 할 수 있습니다. C++/CLI 프로젝트를 실행하여 모든 C++이 올바르게 작동하도록 할 수 있습니다. 하지만 C# 프로젝트에 C++/CLI 클래스에 대한 액세스 권한을 부여하는 가장 좋은 방법은 당황 스럽다. C# 프로젝트에 "참조를 추가"할 때 C++/CLI 프로젝트를 참조로 추가 할 수 있습니다. 하지만 C# 코드에 C++로 정의 된 클래스를 어떻게 추가합니까?

+0

솔직히 말해서, 처음부터 시작한다면 ... C#으로 모두하십시오. –

+0

C++/CLI의 핵심은 관리되지 않는 C++ 코드와 쉽게 상호 작용할 수 있도록하는 것입니다. C++/CLI에서 * ref 클래스 만 작성하면 목적이 무시되고 C#과 동일한 코드가 생성됩니다. –

답변

1

특별히 관리되는 클래스를 만들어야한다고 생각합니다. 즉

ref class Foo 
{ 
    String ^managedString; 
}; 

이며 공용 변수도 관리 유형이어야합니다.

See

당신이 당신의 C# 프로젝트에서 참조로 C++/CLI 클래스 라이브러리를 추가하는 경우 , 네임 스페이스에있는 클래스를 참조하고 다른 클래스처럼 사용할 수 있습니다.

관련 문제