5

COMコンポーネントのラッパーとして機能するc#で記述されたクラスがあります。COMコンポーネントは早期にバインドされ、RCWはVisualStudioによって生成されています。COM参照をクリーンアップするためにラッパークラスにdisposeパターンを実装する必要がありますか、それともすでにRCWがあるため、GCに処理させるだけでよいですか?

4

1 に答える 1

4

Disposeを実装する必要はめったにありませんが、多くの場合、そうする正当な理由があります。

COMオブジェクトが、迅速に解放する必要のある重要なリソースを表している場合は、それがDisposeを実装するための適切な理由である可能性があります。

あなたのdisposeメソッドであなたはすることができます:-

 System.Runtime.InteropServices.Marshal.ReleaseComObject(myRCW);

したがって、クラスを破棄すると、COMオブジェクトがすぐに解放されます。

于 2009-10-13T10:11:27.470 に答える