2

C# クラス ライブラリで関数を呼び出す (値を渡す、値を返す) 必要がある C++ DLL があります。

C# DLL に COM インターフェイスを提供し、IDispatch を使用して C++ から呼び出す唯一のオプションはありますか?

これが最善の方法ですか?

4

4 に答える 4

6

ここで利用できるいくつかのオプション

  1. 混合モードの C++/CLI アセンブリを C++ と C# DLL 間のブリッジとして使用する
  2. 主要な C# 型のいくつかを COM オブジェクトとして公開することにより、COM ブリッジを使用します。これは、通常の COM セマンティクスによって C++ コードを介してアクセスできます。
于 2009-06-09T18:33:40.247 に答える
1

このプロジェクトは、クラスの静的メソッドのdllエクスポートを作成します。次に、アンマネージコードからC#静的メソッドを呼び出すことができます。

于 2011-09-22T19:57:42.983 に答える
0

機能する 1 つのアプローチは、COM を介して呼び出すことです。Regasm ツールを使用して、COM ラッパーを作成できます。

于 2009-06-09T18:13:30.780 に答える
0

それが唯一の選択肢ではありません。

C++ DLL をマネージ DLL としてコンパイルすることもできます。

C# DLL をサービスとしてホストし、それにリモート接続することができます。

于 2009-06-09T18:13:58.830 に答える