public async void Imprimir() { WriteLine("11. Métodos De Extensão Para Inicializadores De Coleção"); StreamWriter logAplicacao = new StreamWriter("LogAplicacao.txt"); try { await logAplicacao.WriteLineAsync("Aplicação esta iniciando..."); Aluno11 aluno = new Aluno11("Marty", "McFly", new DateTime(1968, 6, 12)) { Endereco = "9303 Lyon Drive Hill Valley CA", Telefone = "555-4385" }; await logAplicacao.WriteLineAsync("Aluno Marty criado"); WriteLine(aluno.NomeCompleto); WriteLine("Idade: {0}", aluno.GetIdade()); WriteLine(aluno.DadosPessoais); aluno.AdicionaAvaliacao(new Avaliacao07(1, "GEO", 8)); aluno.AdicionaAvaliacao(new Avaliacao07(1, "MAT", 7)); aluno.AdicionaAvaliacao(new Avaliacao07(1, "HIS", 9)); ImprimirMelhorNota(aluno); foreach (var avaliacao in aluno.Avaliacaos) { WriteLine(avaliacao.ToString()); } Aluno11 aluno2 = null; await logAplicacao.WriteLineAsync("Aluno null foi criado"); ImprimirMelhorNota(aluno2); aluno.PropertyChanged += Aluno_PropertyChanged; aluno.Endereco = "Rua Vergueiro, 3185"; aluno.Telefone = "555-1234"; Aluno11 aluno3 = new Aluno11("Charles", "Brown"); await logAplicacao.WriteLineAsync("Aluno Chales criado"); ListaDeMatricula listaDeMatricula = new ListaDeMatricula { aluno, aluno3 }; foreach (var a in listaDeMatricula) { WriteLine(a.DadosPessoais); } } catch (ArgumentException exc) when(exc.Message.Contains("não informado")) { string msg = $"Parâmetro {exc.ParamName} não foi informado"; await logAplicacao.WriteLineAsync(msg); WriteLine(msg); } catch (ArgumentException exc) { const string msg = "parametro com Problema!"; await logAplicacao.WriteLineAsync(msg); WriteLine(msg); } catch (Exception exc) { await logAplicacao.WriteLineAsync(exc.ToString()); WriteLine(exc.ToString()); } finally { await logAplicacao.WriteLineAsync("Aplicação Terminou!"); logAplicacao.Dispose(); } /* filtro de exceção web * public static async Task<string> FazerRequisicao() * { * var cliente = new System.Net.Http.HttpClient(); * var streamTask = cliente.GetStringAsync("https://localHost:10000"); * try * { * var resposta = await streamTask; * return resposta; * } * catch (System.Net.Http.HttpRequestException e) when (e.Message.Contains("404")) * { * return "Página não encontrada"; * } * catch (System.Net.Http.HttpRequestException e) when (e.Message.Contains("301")) * { * return "Site Mudou de Endereço"; * } * catch (System.Net.Http.HttpRequestException e) when (e.Message.Contains("304")) * { * return "Usar o Cache"; * } * catch (System.Exception e) * { * return "Ocorreu uma exceção"; * } * } * */ }
public static void Add(this ListaDeMatricula lista, Aluno11 aluno) => lista.Matricular(aluno);
private static void ImprimirMelhorNota(Aluno11 aluno) { WriteLine("Melhor Nota: {0}", aluno?.MelhorAvaliacao?.Nota); }