Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
COMコンポーネントのラッパーとして機能するc#で記述されたクラスがあります。COMコンポーネントは早期にバインドされ、RCWはVisualStudioによって生成されています。COM参照をクリーンアップするためにラッパークラスにdisposeパターンを実装する必要がありますか、それともすでにRCWがあるため、GCに処理させるだけでよいですか?
Disposeを実装する必要はめったにありませんが、多くの場合、そうする正当な理由があります。
COMオブジェクトが、迅速に解放する必要のある重要なリソースを表している場合は、それがDisposeを実装するための適切な理由である可能性があります。
あなたのdisposeメソッドであなたはすることができます:-
System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);
したがって、クラスを破棄すると、COMオブジェクトがすぐに解放されます。