Esto no es un ejemplo completo, pero puede llevarlo por el camino correcto. Me gustaría poner en práctica algo como esto:
class customSchedulerClass : IDisposable
{
private Component component = new Component();
private bool disposed = false;
public void scheduleSomeStuff()
{
//This is where you would implement the Quartz.net stuff
}
public void Dispose()
{
Dispose(true);
GC.SupressFinalize(this);
}
private void Dispose(bool disposing)
{
if(!this=disposed)
{
if(disposing)
{
component.dispose;
}
}
disposed = true;
}
}
Entonces, con esto se puede hacer cosas interesantes como el uso de declaraciones:
public static void Main()
{
using (customSchedulerClass myScheduler = new customSchedulerClass())
{
c.scheduleSomeStuff();
}
console.WriteLine("Now that you're out of the using statement the resources have been disposed");
}
Así que, básicamente por que la implementación de código si bien hereda la funcionalidad de IDisposable
luego nos la puede using
declaración y cuando haya terminado limpiará sus recursos y mantendrá las cosas limpias y agradables. (Descargo de responsabilidad, de nuevo, este no es un ejemplo completo, solo para llevarlo en la dirección correcta).
Ajuste a cero no hace nada útil en .NET. –
Nada útil relacionado con la eliminación de objetos –
por cierto ... no es necesario comprobar el _quartzScheduler para nulo, simplemente configúralo ... el resultado final es el mismo y el código es más claro – MaLio