Penjelasan Singkat Finalizers C# Asp.Net

  • Finalizer digunakan untuk destruct instance dari class.

Keterangan :
  1. Finalizer tidak dapat didefinisikan dalam structs. Mereka hanya digunakan dengan class.
  2. Sebuah class hanya bisa memiliki satu finalizer
  3. Finalizer tidak bisa inherited atau overloaded
  4. Finalizer tidak bisa dipanggil. Mereka dipanggil secara otomatis
  5. Sebuah finalizer tidak mengambil modifiers atau memiliki parameter. Misalnya, berikut ini adalah deklarasi finalizer untuk class Car.
class Car
{
    ~Car()  // destructor
    {
        // cleanup statements...
    }
}
Sebuah finalizer juga bisa diimplementasikan sebagai ekspresi body definition, seperti contoh berikut.
using System;

public class Destroyer
{
   public override string ToString() => GetType().Name;
   
   ~Destroyer() => Console.WriteLine($"The {ToString()} destructor is executing.");
}
finalizer secara implisit memanggil finalizer pada base class objek. Oleh karena itu, panggilan ke finalizer secara implisit diterjemahkan ke code berikut :
protected override void Finalize()  
{  
    try  
    {  
        // Cleanup statements...  
    }  
    finally  
    {  
        base.Finalize();  
    }  
}  
Previous
Next Post »