public static bool ColocarNaLixeira(IPapel papel) { papel.LixoPapel(); System.Console.WriteLine(papel.GetType().BaseType + " foi inserido na lixeira"); Console.BackgroundColor = ConsoleColor.Blue; return(true); }
public static void Reciclar(Lixo lixo) { string Papelao = new Papelao(); Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); if (tipoLixo.Equals(typeof(IPapel))) { IPapel lixoConvertido = (IPapel)lixo; Console.BackgroundColor = ConsoleColor.Blue; System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoPapel()} 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.ReciclarFeitoMetal()} 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.ReciclarFeitoPlastico()} 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.ReciclarFeitoVidro()} 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.JogarNaComposteira()} deve ir para a Composteira"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IIndefinido))) { IIndefinido lixoConvertido = (IIndefinido)lixo; Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.Gray; System.Console.WriteLine($"{lixoConvertido.ProcurarOQueFazer()} 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 Impressora(IPapel papel) { if (papel == null) { throw new ArgumentNullException(); } _papel = papel; }
public static void Reciclar(Lixeiras lixo) { Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); if (tipoLixo.Equals(typeof(IPapel))) { IPapel lixoConvertido = (IPapel)lixo; Console.BackgroundColor = ConsoleColor.Blue; System.Console.WriteLine($"{lixoConvertido.ReciclaPapel()} Este 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.ReciclaMetal()} Este lixo 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.ReciclaPlastico()} Este lixo 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.ReciclaVidro()} Este lixo 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.ReciclaOrganico()} Este lixo 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()} Este lixo deve ir para o descarte especial"); Console.ResetColor(); } else { System.Console.WriteLine("Não identificado!"); } System.Console.WriteLine("Aperte ENTER para voltar ao menu"); Console.ReadLine(); }
public static void Reciclar(Lixo lixo) // Lixo é a superclasse (classe pai) para as outras classes herdarem dele e entrarem no dicionario { Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); // a variavel tipolixo verifica qual o tipo do lixo informado pelo usuario, atraves do Get.Type.. GetInterfaces serve pa if (tipoLixo.Equals(typeof(IPapel))) // typeof compara com o type tipolixo com o valor de Ipapel.. Equals serve para verificar se o tipolixo é igual o tipo dentro da interface IPapel { IPapel lixoConvertido = (IPapel)lixo; // tecnica casting.. a variavel lixo é inserida dentro da interface IPapel para afirmar que o lixo é um papel e use o método ReciclarFeitoPapel Console.BackgroundColor = ConsoleColor.Blue; System.Console.WriteLine($"{lixoConvertido.ReciclarFeitoPapel()} 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.ReciclarFeitoMetal()} 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.ReciclarFeitoPlastico()} 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.ReciclarFeitoVidro()} 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.JogarNaComposteira()} deve ir para a Composteira"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IIndefinido))) { IIndefinido lixoConvertido = (IIndefinido)lixo; Console.ForegroundColor = ConsoleColor.Black; Console.BackgroundColor = ConsoleColor.Gray; System.Console.WriteLine($"{lixoConvertido.ProcurarOQueFazer()} 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"); } }
public static void InserirNaLixeira(IPapel lixo) { System.Console.WriteLine("O lixo está sujo ou molhado?"); System.Console.WriteLine(" 1- Sim "); System.Console.WriteLine(" 2- Não "); switch (int.Parse(Console.ReadLine())) { case 1: IrParaAComposteira(); break; case 2: lixo.IrParaLixeiraAzul(); break; default: break; } }
static void LataDeLixo(Lixo lixo) { var lixoInterface = lixo.GetType().GetInterfaces().GetValue(0); if (lixoInterface.Equals(typeof(IVidro))) { IVidro material = (IVidro)lixo; string mensagem = $"{material.Reciclar()} deve ir para a lixeira Verde"; ImprimeMensagem(ConsoleColor.Green, ConsoleColor.White, mensagem); } else if (lixoInterface.Equals(typeof(IPlastico))) { IPlastico material = (IPlastico)lixo; string mensagem = $"{material.Reciclar()} deve ir para a lixeira Vermelha"; ImprimeMensagem(ConsoleColor.Red, ConsoleColor.White, mensagem); } else if (lixoInterface.Equals(typeof(IPapel))) { IPapel material = (IPapel)lixo; string mensagem = $"{material.Reciclar()} deve ir para a lixeira Azul"; ImprimeMensagem(ConsoleColor.Blue, ConsoleColor.White, mensagem); } else if (lixoInterface.Equals(typeof(IOrganico))) { IOrganico material = (IOrganico)lixo; string mensagem = $"{material.Reciclar()} deve ir para a lixeira Marrom"; ImprimeMensagem(ConsoleColor.Black, ConsoleColor.White, mensagem); } else if (lixoInterface.Equals(typeof(IMetal))) { IMetal material = (IMetal)lixo; string mensagem = $"{material.Reciclar()} deve ir para a lixeira Amarela"; ImprimeMensagem(ConsoleColor.Yellow, ConsoleColor.Black, mensagem); } else if (lixoInterface.Equals(typeof(IIndefinido))) { IIndefinido material = (IIndefinido)lixo; string mensagem = $"{material.Reciclar()} deve ir para a lixeira Cinza"; ImprimeMensagem(ConsoleColor.Gray, ConsoleColor.White, mensagem); } }
private static void Bridge() { #region Brigde // Bridge neste exemplo é o IPapel, dentro da classe concreta Impressora // Neste exemplo estamos passando a instância no construtor, um princípio de Inversão de Controle // Selecionar um papel TipoPapelEnum tipoPapel = TipoPapelEnum.Vegetal; IPapel papel = null; switch (tipoPapel) { case TipoPapelEnum.Glossy: papel = new PapelGlossy(); break; case TipoPapelEnum.Reciclado: papel = new PapelReciclado(); break; case TipoPapelEnum.Sulfite: papel = new PapelSulfite(); break; case TipoPapelEnum.Vegetal: papel = new PapelVegetal(); break; } Impressora impressora = new Impressora(papel); GerenciadorSaida.SaidaConsole.EscreverTexto(impressora.PapelConfigurado()); GerenciadorSaida.SaidaConsole.EscreverTexto(impressora.Imprimir()); #endregion Brigde }
public static void Reciclar(Lixo lixo) { Type tipoLixo = lixo.GetType().GetInterfaces().FirstOrDefault(); if (tipoLixo.Equals(typeof(IPapel))) { IPapel lixoConvertido = (IPapel)lixo; System.Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Blue; Console.ForegroundColor = ConsoleColor.White; System.Console.WriteLine($"{lixoConvertido.LataAzul()} deve ir para a lixeira Azul"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IMetal))) { IMetal lixoConvertido = (IMetal)lixo; System.Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Black; System.Console.WriteLine($"{lixoConvertido.LataAmarela()} deve ir para a lixeira Amarela"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IPlastico))) { IPlastico lixoConvertido = (IPlastico)lixo; System.Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Black; System.Console.WriteLine($"{lixoConvertido.LataVermelha()} deve ir para a lixeira Vermelha"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(IVidro))) { IVidro lixoConvertido = (IVidro)lixo; System.Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Black; System.Console.WriteLine($"{lixoConvertido.LataVerde()} deve ir para a lixeira Verde"); Console.ResetColor(); } else if (tipoLixo.Equals(typeof(INaoReciclavel))) { INaoReciclavel lixoConvertido = (INaoReciclavel)lixo; System.Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGray; Console.ForegroundColor = ConsoleColor.White; System.Console.WriteLine($"{lixoConvertido.LataCinza()} deve ir para a lixeira Cinza"); Console.ResetColor(); } else { System.Console.WriteLine(); System.Console.WriteLine("Tipo não identificado!"); } System.Console.WriteLine("Aperte ENTER para voltar ao menu principal"); Console.ReadLine(); }
public static bool ReciclarNovo(IPapel papel) { return("Seu lixo é o da cor Azul - Papel"); }
public static void Mostrar(IPapel materiais) { Console.ForegroundColor = ConsoleColor.Blue; materiais.LixoAzul(); Console.ResetColor(); }
public static void ColocarNoLixo(IPapel lixo) { lixo.reciclarPapel(); System.Console.WriteLine("Indo Reciclar. "); }
public static void ColocarNaLixeira(IPapel material) { material.LixeiraAzul(); }
private static void CaixaDeLeite(IPapel Papel) { Papel.GetType().GetInterface("IPapel"); }
public static void ReciclarNovo(IPapel papel) { }
public static void MostrarInterface(IPapel lixo) { lixo.ReciclarComoPapel(); }