Sobes.tech
Junior — Middle

გთხოვთ, ახსნათ IDisposable ინტერფეისის დანიშნულება და გამოყენება .NET-ში

sobes.tech AI

პასუხი AI-სგან

.NET-ში IDisposable ინტერფეისი განკუთვნილია unmanaged რესურსების, როგორიცაა ფაილები, ქსელური კავშირები, დესკრიპტორები და სხვა, გათავისუფლებისთვის. მას აქვს ერთი მეთოდი — Dispose(), რომელიც იძახება რესურსების გამჭვირვალე გათავისუფლებისთვის.

IDisposable-ის გამოყენება საშუალებას აძლევს კონტროლს რესურსების გათავისუფლების დროს, რაც მნიშვნელოვანია მეხსიერების ნაკადებისა და ბლოკირებების თავიდან ასაცილებლად.

გამოყენების მაგალითი:

class ResourceHolder : IDisposable
{
    private FileStream fileStream;

    public ResourceHolder(string filePath)
    {
        fileStream = new FileStream(filePath, FileMode.Open);
    }

    public void Dispose()
    {
        fileStream?.Dispose();
    }
}

// გამოყენება using ბრძანებით
using (var resource = new ResourceHolder("file.txt"))
{
    // რესურსთან მუშაობა
}
// using-დან გამოსვლის შემდეგ, Dispose() ავტომატურად იძახება

ამ გზით, IDisposable ეხმარება რესურსების ციკლის მართვაში და უზრუნველყოფს მათ სწორად გათავისუფლებას.