Junior — Middle
Kāda ir IDisposable saskarnes nozīme .NET un kā to izmantot?
sobes.tech AI
Atbilde no AI
.NET platformā interfeiss IDisposable paredzēts manuāli atbrīvot nevadāmus resursus (piemēram, failu deskriptorus, datu bāzes savienojumus), kad objekts vairs nav nepieciešams.
Lietošanas veids:
- Klase realizē IDisposable un pārraksta metodi Dispose(), kurā tiek atbrīvoti resursi.
- Kodā, kur tiek izmantots objekts, tas tieši izsauc Dispose() vai tiek izmantota konstrukcija
using, kas garantē Dispose() izsaukšanu pat izņēmuma gadījumā.
Piemērs:
class ResourceHolder : IDisposable
{
private bool disposed = false;
public void Dispose()
{
if (!disposed)
{
// Resursu atbrīvošana
disposed = true;
GC.SuppressFinalize(this);
}
}
~ResourceHolder()
{
Dispose();
}
}
// Lietošana
using (var resource = new ResourceHolder())
{
// Darbs ar resursu
}
// Šeit automātiski tiks izsaukts Dispose()