- - PR -
Dispose Finalize
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-06-20 18:29
基本的な質問ですみません。
DisposeとFinalizeがよくわかりません。 VBで、IDisposableを実装しようとすると、勝手に Dispose()とDispose(disposing as boolean)を作ってくれるんですが、 MSDN http://msdn2.microsoft.com/ja-jp/library/hks5e2k6(VS.80).aspx によると
これも書かなきゃいけないとあるですが、ほんとですか? もしそうなら、なんで自動でいれてくれないんでしょうか? それと、
これを読むとdisposingがtrueのときにアンマネージリソースが廃棄されるので、 finalizeの時にはアンマネージリソースは廃棄されないのですか? よくわからないのでおしえてください | ||||||||
|
投稿日時: 2007-06-20 19:24
Booleanの引数を取るDisposeメソッドを作るのは、マイクロソフトが推奨する(?)Dispose実装のパターンです。
ですので、やることをやりさえすれば、Booleanの引数を取るDisposeを作る必要はありません。 まぁ特別な事情がなければパターンに従った方が良いでしょうが。 >disposingがtrueのときにアンマネージリソースが廃棄されるので あれ……未記入さんの提示したMSDNのページでは確かにそう書いてありますね。誤植かな。 正しくはdisposingがtrueのときのif文内ではマネージドリソースを解放します。 | ||||||||
|
投稿日時: 2007-06-20 19:52
?
true == マネージ リソースとアンマネージ リソース両方を解放 false == アンマネージ リソースを解放 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
1