Exemplo n.º 1
0
        //Exemplo clássico generico
        private static T CriarContas <T>() where T : Conta
        {
            Console.Clear();

            Console.Write("Informe o número da Conta: ");
            int numero = Convert.ToInt32(Console.ReadLine());

            if (GerenciadorDeContasBanco.ContaValidaParaCriacao(numero))
            {
                var titular = CriarCliente <Cliente>();

                Console.Write("Informe o saldo da conta: ");
                double saldo = Convert.ToDouble(Console.ReadLine());

                // Cria um instancia generica, conforme o tipo!
                T conta = (T)Activator.CreateInstance(typeof(T), new object[] { numero, titular, saldo });

                GerenciadorDeContasBanco.AdicionarConta(conta);
                GerenciadorDeContasBanco.GravarConta(conta);

                return(conta);
            }

            throw new ContaExistenteException();
        }
Exemplo n.º 2
0
        private void CriarContas <T>(int numero, Cliente titular, double saldo) where T : Conta
        {
            T conta = (T)Activator.CreateInstance(typeof(T), new object[] { numero, titular, saldo });

            GerenciadorDeContasBanco.AdicionarConta(conta);
            GerenciadorDeContasBanco.GravarConta(conta);
        }