C# 経由で COM コンポーネントを呼び出すラッパー クラスは、Dispose パターンを実装する必要がありますか?
質問
COM コンポーネントのラッパーとして機能する C# で書かれたクラスがあります。COM コンポーネントは早期バインドされており、RCW は Visual Studio によって生成されています。COM 参照をクリーンアップするにはラッパー クラスに破棄パターンを実装する必要がありますか、それとも既に RCW があるため GC に処理させるべきでしょうか?
解決
まれに 必要 Dispose を実装するには、多くの場合、そうする正当な理由があります。
COM オブジェクトがすぐに解放する必要がある重要なリソースを表す場合、それが Dispose を実装する適切な理由になる可能性があります。
destroy メソッドでは次のことができます:-
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);
したがって、クラスを破棄すると、COM オブジェクトがすぐに解放されます。
所属していません StackOverflow