私はいくつかのC++コードを持っている:私は、C#から呼び出す必要がC++/CLIでC++インターフェイス(抽象クラス)をラップするにはどうすればよいですか?
namespace Compute {
class __declspec(dllexport) IProgressCB {
public:
virtual void progress(int percentCompleted) = 0;
};
double __declspec(dllexport) compute(IProgressCB *progressCB, ...);
}
を。
したがって、このC++コードをC++/CLIでラップしたいと思います。
私はcompute()関数をラップする方法を理解していますが、 IProgressインターフェイスをラップするにはどうすればよいですか?
(?C++クラスを継承するための.NETクラスのために可能ではないようだ)
BTW。シンクとフォワーダーコードの構築を「自動化」する方法を知っていますか? – Andy
@アンドレアス:「コードの構築」はあまり明確ではありません。 「コード生成」または「オブジェクト構築」を意味しますか? –
申し訳ありません。私はコード生成を意味します。私はSWIGがC++/CLIの代わりにPInvokeコードを生成することを理解していますが、そのようなもの、おそらくより軽量なものが理想的でしょう。 – Andy