C#のネイティブCOM関数にアクセスしてC#から相互運用するベストプラクティスはありますか?C#のネイティブCOM関数にアクセスしてC#から相互運用するベストプラクティスはありますか?
たとえば、コアウィンドウコンポーネントとやり取りする100個のC++メソッド(基本的にはネイティブライブラリ)があるとします。
私は基本的にC#でこれらのC++メソッドのラッパーを作っていますので、新しく雇われた従業員はC++などの代わりにそれを使用できます。C++コードは古くて恐怖です。一度。対応するC#メソッドを持つ各メソッドのアプローチはここにありますか?実際、これを行う別の方法がありますか?
何らかのラッパーサブシステムを使用できますか。どのように人々は一般的にこれを行うのですか?
また、パフォーマンスに関する考慮事項などはありますか?
COMは私が何とか傾いていると思います。だから、基本的に私の関数用のCOMラッパーを作成して、すべてのC++関数(レガシー)は別のラッパー(新しいC++ Comのもの)を持っていて、これは他人(私の新しい人材!! –
まだCOMでない場合は、私はCOMラッパーを作るのをためらうでしょう。私はもっとネイティブ関数を呼び出すためにPInvokeを使うC#でOOラッパーを作る傾向があるでしょう。しかし、それは経験に基づいた一般的なアドバイスであり、あなたの個々の事例の知識はありません。 –
私はC#をラップしても問題ないと思っています。あなたはCOMが/より速くなると思っています。 –