static void Main(string[] args) { //VAMOS A VER VARIOS METODOS Refri refri = new Refri(70, -20); Random rnd = new Random(); DReservasBajas kilos = new DReservasBajas(InformeKilos); /*NEW DELEGADO DE DE METODO INFORME KILOS*/ DReservasBajas viveres = new DReservasBajas(Tienda.MandaViveres); /*NEW DELEGADO DE LA FUNCION DEL METODO DE LA CLASE TIENDA*/ DDescongelado grados = new DDescongelado(InformeGrados); /*NEW DELEGADO DE DE METODO INFORME GRADOS*/ refri.adicionarMetodoReservas(kilos); /*ADICION DE DELEGADO A LA CLASE DONDE GUARDAN SUS DELEGADOS*/ refri.adicionarMetodoReservas(viveres); /*ADICION DE DELEGADO A LA CLASE DONDE GUARDAN SUS DELEGADOS*/ refri.adicionarMetodoCongelado(grados); /*ADICION DE DELEGADO A LA CLASE DONDE GUARDAN SUS DELEGADOS*/ while (refri.Kilos > 0) { refri.trabajar(/*CONSUMO*/ 1); } Console.ReadKey(); }
static void Main(string[] args) { Console.Title = "Tutorial C# intermedio 11 --- Delegados III"; // Creamos el refri CRefri miRefri = new CRefri(70, -20); Random rnd = new Random(); // Variables para el multicasting, necesitamos la isntancia para poder adicionar o eliminar DReservasBajas kilos1 = new DReservasBajas(InformeKilos); DReservasBajas kilos2 = new DReservasBajas(CTienda.MandaViveres); DDescongelado desc1 = new DDescongelado(InformeGrados); // Añadimos los handlers miRefri.AdicionaMetodoReservas(kilos1); miRefri.AdicionaMetodoReservas(kilos2); miRefri.AdicionaMetodoDescongelado(desc1); // El refri trabaja while (miRefri.Kilos > 0) { miRefri.Trabajar(rnd.Next(1, 5)); } // Eliminamos un handler miRefri.EliminarMetodoReservas(kilos2); // mandaViveres //////////////////////////////////////////// // Relenamos el refri miRefri.Kilos = 50; miRefri.Grados = -15; // El refri trabaja while (miRefri.Kilos > 0) { miRefri.Trabajar(rnd.Next(1, 5)); } }
static void Main() { DReservasBajas kilos1 = new DReservasBajas(alertaReservasBajas); DReservasBajas kilos2 = new DReservasBajas(CTienda.EnviarSuministros); DDescongelado grados1 = new DDescongelado(alertaTemperatura); CRefri miRefri = new CRefri(70, -20); miRefri.AdicionarMetodoReservas(kilos1); miRefri.AdicionarMetodoReservas(kilos2); miRefri.AdicionarMetodoDescongelado(grados1); Random rnd = new Random(); while (miRefri.Kilos > 0) { miRefri.Trabajar(rnd.Next(1, 5)); } }
static void Main(string[] args) { //Crear la instancia de la clase CRefri refri = new CRefri(70, -20); Random rnd = new Random(); //Variables para el multicasting DReservasBajas kilos1 = new DReservasBajas(Informekilos); DReservasBajas kilos2 = new DReservasBajas(CTienda.MandaViveres); DDescongelado descongelado1 = new DDescongelado(InformeGrados); //Adicionamos los handlers refri.AdicionaMetodoReservas(kilos1); refri.AdicionaMetodoReservas(kilos2); refri.AdicionaMetodoDescongelado(descongelado1); //Trabajo clase while (refri.kilosAlimentos > 0) { refri.Trabajar(rnd.Next(1, 5)); } //Eliminamos un handler refri.EliminaMetodoReservas(kilos2); //Rellenamos el refri refri.kilosAlimentos = 50; refri.grados = -15; while (refri.kilosAlimentos > 0) { refri.Trabajar(rnd.Next(1, 5)); } Console.Read(); }
public static void Main(string[] args) { //Creamos el refri CRefri miRefri = new CRefri(70, -20); Random rnd = new Random(); //variables para el multicasting necesitamos la instancia para poder adicionar o eliminar DReservasBajas kilos1 = new DReservasBajas(InformeKilos); DReservasBajas kilos2 = new DReservasBajas(CTienda.MandaViveres); DDescongelado desc1 = new DDescongelado(InformeGrados); //adiciona handlers miRefri.AdicionaMetodoReservas(kilos1); miRefri.AdicionaMetodoReservas(kilos2); miRefri.AdicionaMetodoDEscongelado(desc1); //refri trabaja while (miRefri.Kilos > 0) { miRefri.Trabajar(rnd.Next(1, 5)); } //eliminamos un handler miRefri.EliminaMetodoReservas(kilos2); miRefri.Kilos = 50; miRefri.Grados = -15; while (miRefri.Kilos > 0) { miRefri.Trabajar(rnd.Next(1, 5)); } }
public void EliminarMetodoReservas(DReservasBajas pMetodo) { delReservas -= pMetodo; }
// Estos métodos permiten referenciar las variables // Hacemos multicasting public void AdicionaMetodoReservas(DReservasBajas pMetodo) { delReservas += pMetodo; }
public void AdicionaReservas(DReservasBajas metodo) { delReservas = metodo; }
public void EliminaMetodoReservas(DReservasBajas pMetodo) { delResevas -= pMetodo; //Elimina delegados a la lista interna de delReservas }
public void AdicionaMetodoReservas(DReservasBajas pMetodo) { delResevas += pMetodo; //Adiciona delegados a la lista interna de delReservas }
public void EliminarMetodoReservas(DReservasBajas dReservas) { /*DELEGADO -= DELEGADO A ENTRAR*/ DelegadoReservas -= dReservas; /*ELIMINA EL DELEGADO DE RESERVAS*/ }
private DDescongelado DelegadoCongelado; /*ACA SE INICIALIZA CON SU NOMBRE*/ public void adicionarMetodoReservas(DReservasBajas dReservas) { /*DELEGADO += DELEGADO A ENTRAR*/ DelegadoReservas += dReservas; /*ENTRA POR PARAMETRO UN DELEGADO DE RESERVAS*/ }
//permiten referenciar las variables public void AdicionaMetodoReservas(DReservasBajas pMetodo) { //ya tiene una arraylist en su interior delReservas += pMetodo; }
//DELEGADORESERVAS YA QUEDO REFERENCIA A ESE METODO QUE ENTRA POR PARAMETRO public void adicionarMetodoReservas(DReservasBajas dReservas) { DelegadoReservas = dReservas; }