private static void Reciclar(Lixo lixo) { Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); if (tipoLixo.Equals(typeof(IPapel))) { IPapel lixoConvertido = (IPapel)lixo; Console.BackgroundColor = ConsoleColor.Blue; System.Console.WriteLine($"{lixoConvertido.ReciclarPapel()} deve ir para a lixeira Azul"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IMetal))) { IMetal lixoConvertido = (IMetal)lixo; Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; System.Console.WriteLine($"{lixoConvertido.ReciclarMetal()} deve ir para a lixeira Amarela"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IPlastico))) { IPlastico lixoConvertido = (IPlastico)lixo; Console.BackgroundColor = ConsoleColor.Red; System.Console.WriteLine($"{lixoConvertido.ReciclarPlastico()} deve ir para a lixeira Vermelha"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IVidro))) { IVidro lixoConvertido = (IVidro)lixo; Console.BackgroundColor = ConsoleColor.Green; System.Console.WriteLine($"{lixoConvertido.ReciclarVidro()} deve ir para a lixeira Verde"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IOrganico))) { IOrganico lixoConvertido = (IOrganico)lixo; Console.ForegroundColor = ConsoleColor.Green; Console.BackgroundColor = ConsoleColor.Black; System.Console.WriteLine($"{lixoConvertido.Organico()} deve ir para a Composteira"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IDescarteEspecial))) { IDescarteEspecial lixoConvertido = (IDescarteEspecial)lixo; Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.Gray; System.Console.WriteLine($"{lixoConvertido.DescarteEspecial()} deve ir para o descarte especial"); Console.ResetColor(); } else { System.Console.WriteLine("Tipo não identificado!"); } System.Console.WriteLine("Aperte ENTER para voltar ao menu principal"); Console.ReadLine(); }
public static void Reciclar(Lixo lixo) { Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); if (tipoLixo.Equals(typeof(IPapel))) { IPapel lixoConvertido = (IPapel)lixo; Console.BackgroundColor = ConsoleColor.Blue; System.Console.WriteLine($"{lixoConvertido.ReciclarPapel()} deve ir para a lixeira Azul."); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IPlastico))) { IPlastico lixoConvertido = (IPlastico)lixo; Console.BackgroundColor = ConsoleColor.Red; System.Console.WriteLine($"{lixoConvertido.ReciclarPlastico()} deve ir para a lixeira Vermelha."); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IMetal))) { IMetal lixoConvertido = (IMetal)lixo; Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.Yellow; System.Console.WriteLine($"{lixoConvertido.ReciclarMetal()} deve ir para a lixeira Amarela."); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IVidro))) { IVidro lixoConvertido = (IVidro)lixo; Console.BackgroundColor = ConsoleColor.Green; System.Console.WriteLine($"{lixoConvertido.ReciclarVidro()} dever ir para a lixeira Verde."); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IOrganico))) { IOrganico lixoConvertido = (IOrganico)lixo; Console.BackgroundColor = ConsoleColor.DarkGreen; System.Console.WriteLine($"{lixoConvertido.MandarCompostagem()} deve ir para a composteira."); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IDescarteEspecial))) { IDescarteEspecial lixoConvertido = (IDescarteEspecial)lixo; Console.BackgroundColor = ConsoleColor.DarkGray; System.Console.WriteLine($"{lixoConvertido.ReciclarEspecial()} deve ir para o descarte especial."); } else { System.Console.WriteLine("Lixo não identificado"); } }