Auf Englisch lesen

Teilen über


Object.Finalize Methode

Definition

Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird.

C#
~Object();

Beispiele

Im folgenden Beispiel wird überprüft, ob die Finalize -Methode aufgerufen wird, wenn ein Überschreibungsobjekt Finalize zerstört wird. Beachten Sie, dass in einer Produktionsanwendung die Finalize -Methode überschrieben wird, um nicht verwaltete Ressourcen freizugeben, die vom Objekt gespeichert sind. Beachten Sie auch, dass das C#-Beispiel einen Destruktor bereitstellt, anstatt die Finalize -Methode zu überschreiben.

C#
using System;
using System.Diagnostics;

public class ExampleClass
{
   Stopwatch sw;

   public ExampleClass()
   {
      sw = Stopwatch.StartNew();
      Console.WriteLine("Instantiated object");
   }

   public void ShowDuration()
   {
      Console.WriteLine("This instance of {0} has been in existence for {1}",
                        this, sw.Elapsed);
   }

   ~ExampleClass()
   {
      Console.WriteLine("Finalizing object");
      sw.Stop();
      Console.WriteLine("This instance of {0} has been in existence for {1}",
                        this, sw.Elapsed);
   }
}

public class Demo
{
   public static void Main()
   {
      ExampleClass ex = new ExampleClass();
      ex.ShowDuration();
   }
}
// The example displays output like the following:
//    Instantiated object
//    This instance of ExampleClass has been in existence for 00:00:00.0011060
//    Finalizing object
//    This instance of ExampleClass has been in existence for 00:00:00.0036294

Ein weiteres Beispiel, das die Finalize -Methode überschreibt, finden Sie unter der GC.SuppressFinalize -Methode.

Hinweise

Weitere Informationen zu dieser API finden Sie unter Ergänzende API-Hinweise für Object.Finalize.

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Weitere Informationen