private static void MostrarDispositivo(DispositivoHijo2 dispositivo) { System.Console.WriteLine(dispositivo.ID); System.Console.WriteLine(dispositivo.Name); System.Console.WriteLine(dispositivo.Hola); }
static void Main(string[] args) { var lista = new ClaseListaDoblementeEnlazada(); var instancia = new Dispositivo(); instancia.Name = 3; instancia.ID = 1; var instanciaDos = new Dispositivo { Name = 4, ID = 2 }; var instanciaTres = new DispositivoHijo2 { Name = 5, ID = 3, Hola = 500 }; var instanciaCuatro = new DispositivoHijo1 { ID = 4, Name = 6, Descripcion = "hola" }; lista.AgregarPrimero(instancia); lista.AgregarDespuesDe(instancia, instanciaDos); lista.AgregarDespuesDe(instanciaDos, instanciaTres); lista.AgregarUltimo(instanciaCuatro); System.Console.WriteLine("Cuatro dispositivos"); MostrarIDDeLosElementos(lista.GetEnumerator()); System.Console.WriteLine(); System.Console.WriteLine("Eliminar despues de 1"); lista.EliminarDespuesDe(instancia); MostrarIDDeLosElementos(lista.GetEnumerator()); System.Console.WriteLine(); System.Console.WriteLine("Buscar id 4"); var encontrado = lista.BuscarPorId(4); var tipo = encontrado.GetType(); if (tipo == typeof(DispositivoHijo1)) { var hola = (DispositivoHijo1)encontrado; MostrarDispositivo(hola); } if (tipo == typeof(DispositivoHijo2)) { var hola = (DispositivoHijo2)encontrado; MostrarDispositivo(hola); } System.Console.WriteLine(); System.Console.WriteLine("Next y prev de nodo con id 3"); var nodo = lista.BuscarPorId(3, true); var nodoNext = (Dispositivo)nodo.Next.Value; var nodoPrevious = (Dispositivo)nodo.Previous.Value; System.Console.WriteLine("Next"); System.Console.WriteLine(nodoNext.ID); System.Console.WriteLine("Previous"); System.Console.WriteLine(nodoPrevious.ID); }