3
respostas

Não Consigo criar uma nova conta.... Estou usando VS2017...

Conta umaConta = new Conta();

Mensagem de erro: CS0246: O nome de namespace ou o tipo "Conta" não pôde ser encontrado. Precisa de uma diretiva using ou de uma referência de assembly?

3 respostas

Olá Felipe,

Verifique o namespace da sua classe Conta, pois provavelmente ele deve ser diferente do namespace do local aonde você está instanciando a classe.

Se eu tiver uma classe conta na namespace B.

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

namespace B
{
    class Conta
    {
    }
}

E eu tentar instancia-la em outro namespace.

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

// [REFERENCIADO AQUI].
using B;

namespace A
{
   public class Banco
    {
    public Banco()
        {
            Conta umaConta = new Conta();
        }
    }
}

Eu devo referenciar o namespace B na classe A.

Espero ter ajudado.

Certo... Deve ser isso mesmo, mas o VS criou as classes pra mim (com a mesma namespace), porém mesmo assim não enxerga a outra classe...

using System;
namespace WindowsFormsApp1
{
    public class Conta
    {
        public int numero;
        public string titular;
        private double saldo;

    }
}
//------------------------------------------------------------
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
private void button13_Click(object sender, EventArgs e)
        {
            Conta umaConta = new Conta();
        }
    }
}

Eu também tive o mesmo problema e a solução apresentada não foi suficiente para resolver: mesmo deixando o namespace igual nos dois lugares, o VS 2017 ainda não reconhece "Conta" como classe.