Estudando um pouco mais sobre C#, cheguei em Namespace, que pude entender que ele é:
- Como uma caixa organizadora para o nosso código.
- E serve para agrupar classes, interfaces, métodos e outros elementos que pertencem ao mesmo contexto.
- Ele evita conflitos de nomes quando tem classes iguais em projetos diferentes.
Exemplo:
1.
Imagine que temos várias pastas no computador.
Uma pasta com o nome(Financeiro) com arquivos de relatórios.
Outra pasta com o nome(RH) com arquivos de funcionários.
Mesmo que exista um arquivo chamado Relatorio.docx em cada pasta, não tem problema nenhum, porque cada um está em sua pasta (namespace).
2.
namespace Banco
{
class ContaBancaria
{
public string NumeroConta { get; set; }
public double Saldo { get; private set; }
public ContaBancaria(string numeroConta, double saldoInicial)
{
NumeroConta = numeroConta;
Saldo = saldoInicial;
}
}
}
namespace Loja
{
class ContaBancaria
{
public string NumeroConta { get; set; }
public double Saldo { get; private set; }
public ContaBancaria(string numeroConta, double saldoInicial)
{
NumeroConta = numeroConta;
Saldo = saldoInicial;
}
}
}
Aqui temos duas classes com o mesmo nome (ContaBancaria), mas em namespaces diferentes (Banco e Loja). Isso evita conflito.
Resumo :
- Namespace = pasta organizadora de código.
- Evita conflitos de nomes.
- Facilita a organização em projetos grandes.
Se estiver errado o que aprendi, alguém poderia me explicar melhor sobre NameSpace, desde já obrigado !