Program.cs
using Task.Modelos;
List<TarefaAgendada> tarefas = new List<TarefaAgendada> {
new BackupTarefa(),
new RelatorioTarefa(),
new LimpezaTarefa()
};
Console.Clear();
tarefas.ForEach(t => t.Executar());
TarefaAgendada.cs
namespace Task.Modelos;
abstract class TarefaAgendada {
public abstract void Executar();
}
BackupTarefa.cs
namespace Task.Modelos;
class BackupTarefa : TarefaAgendada {
public override void Executar() {
Console.WriteLine("Executando backup do sistema...");
Thread.Sleep(1400);
Console.WriteLine("Backup finalizado!");
}
}
RelatorioTarefa.cs
namespace Task.Modelos;
class RelatorioTarefa : TarefaAgendada {
public override void Executar() {
Console.WriteLine("Gerando e enviando relatórios...");
Thread.Sleep(2350);
Console.WriteLine("Os relatórios foram enviados com sucesso!");
}
}
LimpezaTarefa.cs
namespace Task.Modelos;
class LimpezaTarefa : TarefaAgendada {
public override void Executar() {
Console.WriteLine("Limpando arquivos temporários...");
Thread.Sleep(1250);
Console.WriteLine("Arquivos limpos com sucesso!");
}
}