Junior — Middle
Ի՞նչ է նշանակում IDisposable ինտերֆեյսը .NET-ում և ինչպես օգտագործել այն։
sobes.tech AI
Պատասխան AI-ից
.NET-ում IDisposable ինտերֆեյսը նախատեսված է ձեռքով ազատելու ոչ կառավարվող ռեսուրսները (օրինակ՝ ֆայլերի նկարագրիչներ, տվյալների բազայի կապեր), երբ օբյեկտը այլևս անհրաժեշտ չէ:
Օգտագործում:
- Կլասը իրականացնում է IDisposable և վերագրում Dispose() մեթոդը, որը ազատում է ռեսուրսները:
- Օգտագործման ժամանակ, օբյեկտի օգտագործման կոդում, կանչվում է բացահայտորեն Dispose() կամ կիրառվում է
usingկառուցվածքը, որը ապահովում է Dispose()-ի կանչը նույնիսկ արտակարգ իրավիճակներում:
Օրինակ:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// ռեսուրսների ազատում
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Օգտագործում
using (var resource = new ResourceHolder())
{
// ռեսուրսի հետ աշխատանք
}
// Այստեղ ավտոմատ կերպով կանչվում է Dispose()