1

私はToolStripMenuItemいくつかのプロジェクト内で使用し、C# operator を使用して割り当てますnew:

ToolStripMenuItem someMenuItem = new ToolStripMenuItem("Some Item");

IDisposableインターフェイスとusingステートメントに関する MSDN ドキュメントを読みました( http://msdn.microsoft.com/en-us/library/yh598w02.aspx )。ToolStripMenuItem に基になる管理されていないリソースがあるかどうかは、まだ不明です。

より正確には、Dispose(false)何らかの例外が発生した場合、メソッドの呼び出しを処理する必要がありますか?

4

1 に答える 1

0

ToolStripMenuItems は、IDisposable インターフェイスを実装する Component から継承します。

ToolStripMenuItemの構文を使用しても、using()実際には機能しません。一般に、エンド ユーザーが操作できるようにメニュー項目が存在する必要があり、using()構文によってすぐにメニュー項目が破棄されるからです。

ToolStrip アイテムの破棄と「何らかの例外が発生する」ことがどう関係するのか、私にはわかりません。ホストされたフォームが閉じられるとガベージ コレクションされるため、破棄について心配する必要はありません。

ただし、アイテム コレクションから ToolStripMenuItem を削除しても破棄されないことに注意してください。その場合は、自分で dispose メソッドを呼び出す必要があります。

于 2013-05-15T16:52:06.847 に答える