C♯相談室 Part2
■ このスレッドは過去ログ倉庫に格納されています
0784デフォルトの名無しさん
NGNGGCを持ってる言語では、オブジェクトが破棄されるタイミングは分からないからデストラクタには頼れない。
C#では構文的にはデストラクタを定義できるけど、実際にできるものは
C++のデストラクタよりも、Javaのファイナライザに近いものだと思ったほうがいい。
(というか、デストラクタは内部的には Finalize() メソッド扱いされる。)
で、ファイナライザの起動までリソースを開放しないのは勿体無いし、
大体、ファイナライザは呼ばれる保証がない(プログラム終了時にはファイナライザは呼ばれない)から、
Disposable パターンを使わないといけない。
>>782
CloseがDisposeを呼んでるんじゃなくて、DisposeがCloseを呼んでるんじゃないか?
■ このスレッドは過去ログ倉庫に格納されています