실제로 C#을 C++와 혼합하려면 통신하는 가장 쉬운 방법은 C 인터페이스가 포함 된 C++ DLL을 만드는 것입니다. 그런 다음 P/Invoke를 사용하여이 DLL을 가져올 수 있습니다
[DllImport("ai.dll")]
static extern int doSomething(int numCardOnTable, int[] cardOnTable,
int numCardsOnHand, int[] cardsOnHand, out int cardToPlay);
또 다른 방법은 직접 C#으로 가져올 수 있습니다 C++ 관리 사용하는 것입니다
namespace CPP_managed_code
{
public ref class AI
{
public:
int doSomething(int numCardOnTable, int[] cardOnTable, int numCardsOnHand,
int[] cardsOnHand, out int cardToPlay)
{
// ...
return 0;
}
};
}
그리고 당신의 C# 코드 :
using CPP_managed_code;
// ...
unsafe private void myCSharpMethod()
{
AI ai = new AI();
ai.doSomething(/*...*/);
}
하지만 표준 C++가 아니기 때문에 Managed C++을 사용하지 않는 것이 좋습니다.
com Interop 살펴보기 –