Middle
Ի՞նչ է նշանակում C#-ում IDisposable ինտերֆեյսը։
sobes.tech AI
Պատասխան AI-ից
IDisposable ինտերֆեյսը օգտագործվում է ռեսուրսների ազատման մոդելը իրականացնելիս, որոնք կառավարվում են CLR միջավայրից դուրս (օրինակ՝ ֆայլային դեսկրիպտորներ, ցանցային կապեր, WinAPI հենդլներ):
Հիմնական նպատակները՝
- Նշանակական ռեսուրսների ազատում: Позволяет явно освободить неуправляемые ресурсы անմիջապես, вместо того, чтобы սպասել, որ հավաքողը կանչի ֆինալիզատորը (եթե կա):
- Ռեսուրսների արտահոսքի կանխում: Համոզվում է, որ կարևոր ռեսուրսները ազատվում են օգտագործումից հետո, նույնիսկ արտակարգ իրավիճակներում:
- Օգտագործում
usingբանալի բառի հետ:usingկառուցվածքը ավտոմատ կերպով կանչում էDispose()մեթոդը այն օբյեկտի, որը իրականացնում էIDisposable, կոդի բլոկի ավարտին, ապահովելով հուսալի ազատում:
Իմպլեմենտացիան ներառում է Dispose() մեթոդը առանց պարամետրերի, որը իրականացնում է ռեսուրսների ազատում: Սովորաբար, մոդելը ներառում է ֆինալիզատոր (դեստրուկտոր) ռեսուրսների ազատման համար, եթե Dispose()-ը չի կանչվել հստակ, բայց խորհուրդ է տրվում խուսափել ֆինալիզատորներից և հույս դնել using-ի վրա:
public interface IDisposable
{
void Dispose();
}