ふらっとC#,C♯,C#(初心者用) Part38
■ このスレッドは過去ログ倉庫に格納されています
0690デフォルトの名無しさん
2009/03/10(火) 23:39:55>そこで安全弁として、まともなクラス(FCLなど)では、
>Finalize経由でもDispose(bool disposing)を呼び出してリソースの解放が行われるようになっている。
>そういうクラスでは別に明示的にDispose()を絶対に呼び出さなきゃいけないわけではない。
こういうケースもあるから一概にそうとも言えないと思うがな。
StreamWriterのFlush/Close/Disposeを呼ばない場合
書き込みキャッシュの内容がフラッシュされないので内容がロストする。
ファイルは確かにクローズされるんだけど。
もちろんStreamWriterにはDispose(bool disposing)があるぜ。
ttp://msdn.microsoft.com/ja-jp/library/ms172236.aspx
static class Program
{
static void Main(string[] args)
{
var sw = new StreamWriter(@"c:\test.txt");
sw.Write("A");
}
}
Disposeに関してはもはやアンマネージリソースかどうかに拘っても意味がない気がする。
アンマネージリソースが解放されずに残るわけじゃないとはいえ
このケースでDisposeを呼ばなくて良いと言うのは無理がありすぎる。
■ このスレッドは過去ログ倉庫に格納されています