. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
чт<strong>е</strong>ни<strong>е</strong> и запись файлов<br />
инт<strong>е</strong>рф<strong>е</strong>йс IDisposable<br />
М н о ж <strong>е</strong> с тв о классов .N E T р<strong>е</strong>ализу<strong>е</strong>т к р а й н <strong>е</strong> п о л <strong>е</strong> зн ы й и н т <strong>е</strong> р <br />
ф <strong>е</strong>йс I D i s p o s a b l e . О н с о д <strong>е</strong> р ж и т в с <strong>е</strong> г о о д и н м <strong>е</strong>тод Dispose О .<br />
Э то т инт<strong>е</strong> р ф <strong>е</strong> й с о б ъ я сн я<strong>е</strong>т п р ограм м <strong>е</strong>, ч т о <strong>е</strong>сть ва ж н ы <strong>е</strong> в<strong>е</strong>щ и,<br />
к о то р ы <strong>е</strong> тр<strong>е</strong>бу<strong>е</strong>тся сд<strong>е</strong>лать для зав<strong>е</strong>рш <strong>е</strong>ния работы . В<strong>е</strong>дь р а с <br />
п р <strong>е</strong> д <strong>е</strong> л <strong>е</strong> н н ы <strong>е</strong> р <strong>е</strong> с у р с ы н<strong>е</strong> освобож д аю тся сам остоят<strong>е</strong>льно.<br />
Для э т о го и м тр<strong>е</strong>бу<strong>е</strong>тся м <strong>е</strong>тод D i s p o s e ( ) .<br />
В оспользу<strong>е</strong>м ся ф ун кц и <strong>е</strong> й И С Р G o То D e fin itio n для п р о см о тр а<br />
опр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>ния и н т<strong>е</strong>рф <strong>е</strong> й са I D i s p o s a b l e . В в<strong>е</strong>дит<strong>е</strong> «ID isposable»<br />
в п р о и зволь н о м м<strong>е</strong>ст<strong>е</strong> в н у тр и класса, щ <strong>е</strong> л кн и т<strong>е</strong> на э т о й с т р о ч <br />
к<strong>е</strong> п р а в о й к н о п к о й м ы ш и и в ы б р и т<strong>е</strong> в м <strong>е</strong> ню ком анду G o То<br />
D e fin itio n . О т к р о <strong>е</strong> тс я вкладка с кодом . В о т ч т о в ы увид ит<strong>е</strong>:<br />
При объявл<strong>е</strong>нии<br />
о^<strong>е</strong>ктов в разд<strong>е</strong>л<strong>е</strong><br />
using вызов м<strong>е</strong>тода<br />
Dispose ( ) таких объ<strong>е</strong>ктов<br />
буд<strong>е</strong>т осущ<strong>е</strong>ствляться<br />
автоматич<strong>е</strong>ски.<br />
namespace System<br />
{<br />
// Кратко<strong>е</strong> описани<strong>е</strong>:<br />
Многи<strong>е</strong> классы распр<strong>е</strong>д<strong>е</strong>ляют м<strong>е</strong>жду собой<br />
таки<strong>е</strong> важны<strong>е</strong> р<strong>е</strong>сурсы как память,<br />
файлы и други<strong>е</strong> объ<strong>е</strong>кты. Они со<strong>е</strong>диня- ^<br />
ются с этими р<strong>е</strong>сурсами и н<strong>е</strong> разрывают<br />
связь, пока н<strong>е</strong> получат сигнал, что<br />
работа законч<strong>е</strong>на.<br />
II Да<strong>е</strong>т м<strong>е</strong>тод освобожд<strong>е</strong>ния распр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>нных р <strong>е</strong> с у р с о в .<br />
public interface IDisposable<br />
{<br />
// Кратко<strong>е</strong> описани<strong>е</strong>:<br />
// Выполня<strong>е</strong>т опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>мы<strong>е</strong> прилож<strong>е</strong>ни<strong>е</strong>м задачи,<br />
// связанны<strong>е</strong> с освобожд<strong>е</strong>ни<strong>е</strong>м или сбросом<br />
/ / н<strong>е</strong>управля<strong>е</strong>мых р<strong>е</strong>сурсов<br />
void Dispose О;<br />
/\юбой класс, р<strong>е</strong>ализуюш,ий инт<strong>е</strong>рф<strong>е</strong>йс<br />
IDisposable, н<strong>е</strong>м<strong>е</strong>дл<strong>е</strong>нно освобожда<strong>е</strong>т любы<strong>е</strong><br />
зад<strong>е</strong>йствованны<strong>е</strong> р<strong>е</strong>сурсы посл<strong>е</strong> вызова <strong>е</strong>го м <strong>е</strong><br />
тода DisposeQ. Это посл<strong>е</strong>дн<strong>е</strong><strong>е</strong>, что д<strong>е</strong>ла<strong>е</strong>тся<br />
п<strong>е</strong>р<strong>е</strong>д зав<strong>е</strong>рил<strong>е</strong>ни<strong>е</strong>м работы с объ<strong>е</strong>ктом.<br />
рас-пр<strong>е</strong>-д<strong>е</strong>-лять, гл.<br />
раздавать р<strong>е</strong>сурсы или<br />
обязанности для опр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>нных<br />
ц<strong>е</strong>л<strong>е</strong>й. Управляющий<br />
р аспр<strong>е</strong>д <strong>е</strong>л и л вс<strong>е</strong><br />
конф<strong>е</strong>р<strong>е</strong>нц-залы под б<strong>е</strong>спол<strong>е</strong>зный<br />
с<strong>е</strong>минар по м<strong>е</strong>н<strong>е</strong>джм<strong>е</strong>нту.<br />
дальш<strong>е</strong> > 415