実際に 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);
もう 1 つの方法は、C# に直接インポートできる Managed 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(/*...*/);
}
ただし、Managed C++ は標準 C++ ではないため、使用はお勧めしません。