using System;
using System.Diagnostics;
public class ContadorIndestructible
{
private Stopwatch cronometro;
public ContadorIndestructible ()
{
cronometro = Stopwatch.StartNew ();
Console.WriteLine ("Se ha instanciado un objeto.");
// Aquí se marca la instancia actual para que el recolector de basura
// ignore la liberación de recursos asociados a esta instancia.
GC.SuppressFinalize (this);
}
public void MostrarDuracion ()
{
Console.WriteLine ("La instancia {0} ha tenido una duración de: {1}.", this, cronometro.Elapsed);
}
~ContadorIndestructible ()
{
Console.WriteLine ("Se iniciado la finalización del objeto.");
cronometro.Stop ();
Console.WriteLine ("La instancia {0} ha tenido una duración de: {1}.", this, cronometro.Elapsed);
}
}