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()