C# クラス ライブラリを Visual C++ にインポートする
質問
外部アプリケーションで使用する必要があるメソッドを含む C# クラス ライブラリがあります。残念ながら、この外部アプリケーションは C/C++ の外部 API のみをサポートしています。
この C# ライブラリに、整数を受け取り double の配列を返す takeIntReturnDoubleArray メソッドがあるとします。必要なのは、整数を受け取り、C# ライブラリを呼び出し、呼び出し側アプリケーションに double の配列を返す C++ メソッドを作成することだけです。
したがって、本質的に、C++ ライブラリは C# ラッパーと外部アプリケーションの間の仲介者として機能するだけです。
これを行う簡単な方法はありますか?C++ に簡単にインポートできるようにするには、C# 側で何か特別なことをする必要がありますか?#import ステートメントの使用についての話は見たことがありますが、C++ に関しては実際に何をしているのかわかりません。
ここで私が取るべきアプローチは何ですか?
解決
ここには 2 つの主なオプションがあります。
- C++\CLI - これにより、同じソース ファイル内にマネージ コードとアンマネージ コードの両方を含めることができます。その後、マネージド部分は C# コードを呼び出すことができます。
- COM 相互運用 - .NET 型を COM インターフェイスおよび一致するコクラスとして公開し、アンマネージ C++ から簡単に使用できます。
他のヒント
COM相互運用機能は、この問題にアプローチする一つの方法です。あなたがC ++アプリケーションに公開するC#のライブラリ関数(複数可)のためのCOM層を持っている必要があります。この( http://msdn.microsoft.com/en-us/ / aa302324.aspx#usingframeworktools_topic10 の)ライブラリは興味があるかもしれません。
所属していません StackOverflow