私はCOMオブジェクトメソッドを呼び出すための最もクリーンで高速な方法を見つけようとしています。RCWを使用せずにCOMオブジェクトメソッドを呼び出す最も速い方法
私は、オブジェクトのためのRCWを使用していましたが、毎回、サードパーティのCOMオブジェクトの新しいバージョンが、その後RCWが役に立たなくそのGUIDの変更を出てくるので、私は変更して
Type mytype = Type.GetTypeFromProgID("MyCOMApp.Application");
の使用を開始しなければなりませんでした
新しいバージョンのCOMオブジェクトが出現するたびに、私のアプリケーションを再構成して再デプロイする必要はありません。
現時点では、mytype.InvokeMemeber
のような再選択を使用していますが、RCWを呼び出すのに比べて遅いと感じています。
サードパーティのCOMオブジェクトのバージョンを変更しても、RCWの速度を維持するという問題に他の人がどのように取り組んでいますか?
VBのバインディングを遅くし、C#でのリフレクションを使用していますか? –
@Nathan W:いいえ、そうではありません。そのコアのメカニズムは同じです(Reflection)。 – casperOne
インターフェイスメソッドへのキャストがうまく動作するように、クラスGUIDだけが変更されていることがわかりました。ありがとう:) –