1
resposta

Ao instanciar new Conta na atividade 03 da Aula 10 do Curso C# III obtenho erro

Ao usar new Conta obtenho uma mensagem de erro:

Não é possível criar uma instância da classe abstract ou interface 'Conta', mesmo mudando para ContaCorrente obtenho um erro diferente

"+ $exception {"BitPixel.CaixaEletronico.Contas.ContaCorrente é inacessível por causa do seu nível de proteção. Apenas tipos públicos podem ser processados."} System.InvalidOperationException "

using CaixaEletronico.Classes; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using BitPixel.CaixaEletronico.Usuarios; namespace BitPixel.CaixaEletronico.Contas { public abstract class Conta : Object { public int Numero { get; set; } public double Saldo { get; protected set; } //public BitPixel.CaixaEletronico.Usuarios.Cliente Titular { get; set; } private Cliente Titular { get; set; } public int Agencia { get; private set; } public int Tipo { get; set; } // 1==> Conta corrente e 2==> Conta Poupança public abstract void Saca(double valor);

public virtual void Deposita(double valor) { if (valor >= 0) { this.Saldo += valor; } }

public virtual string ToString(string cliente) { return Titular.Nome; }

public virtual void Transfere(double valor, Conta conta) {

if (valor >= 0 && valor <= this.Saldo ) { this.Saca(valor); conta.Deposita(valor); }

}

} }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace BitPixel.CaixaEletronico.Contas { class ContaCorrente : Conta { public static int TotalDeContas { get; private set; }

public ContaCorrente() { ContaCorrente.TotalDeContas++; }

public static int ProximoNumero() { return ContaCorrente.TotalDeContas +1; }

public override void Saca(double valor) {

if (valor < 0) { throw new ArgumentException(); }

if (this.Saldo >= valor) { this.Saldo -= valor + 0.10; } else { throw new SaldoInsuficienteException(); }

} } }

1 resposta

Bom Dia Luís. Coloque o código das classes Conta e ContaCorrente para darmos uma olhada.