На езика на noob, Dispose() е за почистване, след като сте приключили с използването на неуправляван ресурс.
Какво е неуправляван ресурс? Това са всички неща, които CLR не управлява вместо вас. Те са нещо като манипулатори на файлове, връзки към бази данни, мрежови гнезда, GDI+ писалки и т.н. Получавате достъп до тези неща чрез типичен .NET обект, но той ще имплементира IDisposable, за да ви позволи да почиствате правилно.
Защо да почиствате? Докато не почистите след себе си, този ресурс не е достъпен за използване от други части на програмата. В това отношение вие разбивате нещата, защото отнемате ресурс.
Защо да правите това сами? Трябва да направите това сами веднага щом престанете да се нуждаете от ресурса, вместо да разчитате на автоматичната магия на събирача на боклука, защото може да отнеме много време (добре, неуточнено) количество време, преди събирачът на боклук да стигне до него. Докато даден обект не бъде изхвърлен правилно, не можете да използвате повторно основния ресурс, така че програмата ви няма да функционира надеждно.
person
Frederik
schedule
03.07.2010