Middle
C#-ში IDisposable ინტერფეისი რა მიზნით გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
IDisposable интерфейси, CLR мохитинен тышкары башкарылуучу ресурстарды бошотуу моделин ишке ашыруу үчүн колдонулат (мисалы, файл дескрипторлору, тармактык байланыштар, WinAPI хендлдери).
Негизги максаттар:
- Детерминистик ресурстарды бошотуу: Бул башкарылбаган ресурстарды дароо бошотууга мүмкүндүк берет, жыйноочу жыйноочу (эгер бар болсо) финализаторду чакырганга чейин күтпөстөн.
- Ресурс агып кетүүнүн алдын алуу: Критикалык ресурстар колдонулгандан кийин бошотулушун камсыздайт, дале эле ката кетсе да.
usingачкыч сөзү менен колдонуу:usingструктурасы автоматтык түрдөIDisposableишке ашырган объекттинDispose()ыкмасын код блогунун аягында чакырып, ишенимдүү бошотууга кепилдик берет.
Ишке ашыруу Dispose() ыкмасын камтыйт, ал ресурстарды бошотот. Көп учурда, паттерн Dispose() чакырылбаган учурда ресурстарды бошотуу үчүн финализаторду (деструкторду) камтыйт, бирок финализаторлордон баш тартуу жана using-га ишенүү сунушталат.
public interface IDisposable
{
void Dispose();
}