Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Dúvida] Dúvida na resolução proposta no GIT - Curso 2 Aula 4 - Construtor de bandas

Copiei o código sugerido na proposta de solução no GIT (em "Opinião do instrutor") e colei no Visual Studio e com esse código está aparecendo os erros abaixo. Porque está ocorrendo estes erros? Grato pela atenção!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Oii, Jorge.

Estou aqui para ajudar, mas preciso de mais informações para entender sua dúvida.Siga as orientações do guia de como fazer uma boa pergunta no fórum e me retorne com mais informações do problema.

Aguardo seu retorno! Abraço.

Oi Lorena, boa noite! Obrigado pelo retorno e pela atenção! Conforme solicitado no exercício 2 do curso C# aplicando a orientação à objetos e aula 4 - Construtor de banda, eu criei a classe "Conta" e criei um método construtor "Conta". O Visual Studio está dando erro justamente nos argumentos deste método construtor (argumentos: "Agencia", "NumeroDaConta" e "Limite"). O erro é CS0246 - O tipo ou nome do namespace não pôde ser encontrado (está faltando uma diretiva using ou uma referência de assembly?) Segue abaixo o código que está dando o erro acima. Mais uma vez Lorena obrigado pela força!

class Conta {
    public Titular Titular { get; set; }
    public int Agencia { get; set; }
    public int NumeroDaConta { get; set; }
    public double Saldo { get; }
    public double Limite { get; set; }

    public string Informacoes => $"Conta nº {this.NumeroDaConta}, Agência {this.Agencia}, Titular: {this.Titular.Nome} - Saldo: {this.Saldo}";

    public Conta(Titular titular, Agencia agencia, NumeroDaConta numeroDaConta, Limite limite) {
        this.Titular = titular;
        this.Agencia = agencia;
        this.NumeroDaConta = numeroDaConta;
        this.Limite = limite;
        this.Saldo = 0;
    }
}
solução!

Oi, Jorge!

O erro no seu código está nos tipos dos parâmetros do construtor da classe Conta.

Veja esta linha:


public Conta(Titular titular, Agencia agencia, NumeroDaConta numeroDaConta, Limite limite)

Os tipos Agencia, NumeroDaConta e Limite não são tipos reconhecidos em C#. Eles deveriam ser tipos primitivos, como int e double, que são os mesmos definidos nas propriedades da sua classe:

  • Agenciaint
  • NumeroDaContaint
  • Limitedouble

O compilador entende que você está tentando usar tipos personalizados (como se fossem classes ou structs chamadas Agencia, NumeroDaConta e Limite), mas como você não criou essas classes, ele gera o erro CS0246: "O tipo ou nome do namespace não pôde ser encontrado..."

  • Como corrigir:

Troque os tipos no construtor:

using System;
using System.Collections.Generic;

class Titular
{
    public string Nome { get; set; }
    public string Cpf { get; set; }
    public string Endereco { get; set; }

    public Titular(string nome, string cpf, string endereco)
    {
        Nome = nome;
        Cpf = cpf;
        Endereco = endereco;
    }
}

class Conta
{
    public Titular Titular { get; set; }
    public int Agencia { get; set; }
    public int NumeroDaConta { get; set; }
    public double Saldo { get; private set; }
    public double Limite { get; set; }

    public string Informacoes => $"Conta nº {NumeroDaConta}, Agência {Agencia}, Titular: {Titular.Nome} - Saldo: {Saldo}";

    public Conta(Titular titular, int agencia, int numeroDaConta, double limite)
    {
        Titular = titular;
        Agencia = agencia;
        NumeroDaConta = numeroDaConta;
        Limite = limite;
        Saldo = 0;
    }
}

Para testar:

class Program
{
    static void Main(string[] args)
    {
        // Teste da Conta
        Titular titular = new Titular("George Harrison", "000.000.000-00", "Rua dos Besouros");
        Conta conta = new Conta(titular, 123, 456789, 5000.0);
        Console.WriteLine(conta.Informacoes);

        Console.WriteLine();
    }
}

Assim dará certo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Uma dica: sempre compartilhe o seu projeto no github, assim podemos ter a visão do seu projeto todo.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Oi Lorena, boa noite! Ok agora entendi, muito boa a sua explicação! Muitíssimo obrigado! e fique com Deus.