PDA

View Full Version : تفاوت DisposeوClose



saeed-kh
جمعه 04 بهمن 1387, 10:45 صبح
سلام.
متدهای Dispose و Close چه فرقی با هم دارند.
یعنی متد close رفرنسها اون شی رو پاک نمیکنه؟؟؟
ادامه بحث با شما.....

Mehdi Asgari
جمعه 04 بهمن 1387, 11:14 صبح
با این پیش فرض که با Dispose آشنایی ، بیشتر درباره اش توضیح نمیدم.
در بعضی موارد Close خودش متد Dispose رو فراخوانی می کنه. (مثل Stream ها)
گاهی موارد هم این Dispose هست که Close رو فراخوانی می کنه (مثل DataConnection ها)
Close یک اسمیه که convenient تر از Dispose هست. از دید یه برنامه نویس انگلیسی زبان نگاه کن: ما فایل رو Open می کنیم ، پس بعد از اتمام کار باید Close کنیمش ، نه Dispose
صفحۀ 484 کتاب CLR Via C# i :


Some classes that offer the dispose pattern also offer a Close
method for convenience; but the dispose pattern doesn't require this method. For example,
the System.IO.FileStream class offers the dispose pattern, and this class also offers a Close
method. Programmers find it more natural to close a file rather than dispose of a file. However,
the System.Threading.Timer class doesn't offer a Close method even though it adheres to
the dispose pattern.