تابع تخریب کننده یا Destructor در #C  (مهندسی برق _ الکترونیک)

پژوهشگر و نویسنده: دکتر (  افشین رشید )

نکته: تابع تخریب کننده یا Destructor در زبان #C ،متدی است که در هنگام از بین رفتن یک شی از کلاس، اجرا میشود.

زبان #C ،یک زبان پاتک کننده خودکار سیستم یا collector garbage است، به این معنی که object هایی که دیگر در برنامه نیاز ندارید را جهت خالی کردن حافظه و آزاد نمودن سیستم، پاک می کند.از طرف دیگر در برخی موارد شاید نیاز داشته باشید تا یک up Clean در سیستم انجام دهید، در اینجاست که تابع های تخریب کننده Destructor به کار می آیند.تابع های تخریب کننده چندان شبیه سایر متد ها در زبان #C نیستند. در کد عملی زیر یک مثال از تابع تخریب کننده نشان داده شده است :

  • namespace DestructorExample
  • {
  • class DestructorDemo
  • {
  • public DestructorDemo()
  • {
  • Console.WriteLine("constructor object created");
  • }
  • ~DestructorDemo()
  • {
  • Console.WriteLine("object is destroyed");
  • }
  • }
  • class Test
  • {
  • static void Main(string[] args)
  • {
  • DestructorDemo obj1 = new DestructorDemo();
  • DestructorDemo obj2 = new DestructorDemo();
  • obj1 = null;
  • obj2 = null;
  • GC.Collect();
  • Console.ReadKey();
  • }
  • }
  • }
  • به محض این که شی یا object ایجاد شده از کالس، توسط تمیز کننده خودکار collector garbage جمع آوری شده، متد فوق فراخوانی می شود.

    پژوهشگر و نویسنده: دکتر (  افشین رشید )