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!
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!
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;
}
}
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:
Agencia
→ intNumeroDaConta
→ intLimite
→ doubleO 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..."
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:
Uma dica: sempre compartilhe o seu projeto no github, assim podemos ter a visão do seu projeto todo.
Oi Lorena, boa noite! Ok agora entendi, muito boa a sua explicação! Muitíssimo obrigado! e fique com Deus.