2
respostas

Relação do namespace com o diretório onde está o arquivo .cs

O namespace está necessariamente atrelado ao diretório onde está o arquivo .cs da classe?

Por exemplo, a classe Funcionarios está no arquivo .cs no diretório Funcionarios, então o namespace tem que ser necessariamente ByteBank.Funcionarios?

2 respostas

Guilherme,

Desculpe, a ideia não é bem esta...

Veja:

==========================================================

C# - Namespaces

Um namespace é projetado para fornecer uma maneira de manter um conjunto de nomes separado de outro. Os nomes de classe declarados em um namespace não entram em conflito com os mesmos nomes de classe declarados em outro.

https://www.tutorialspoint.com/csharp/csharp_namespaces.htm#:~:text=C%23%20-%20Namespaces.%20A%20namespace%20is%20designed%20for,with%20the%20same%20class%20names%20declared%20in%20another.

==========================================================

13 namespaces

13.1 Geral

Os programas C# são organizados usando namespaces. Os namespaces são usados tanto como um sistema de organização “interno” para um programa quanto como um sistema de organização “externo” – uma forma de apresentar elementos de programa que são expostos a outros programas.

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/namespaces

==========================================================

MUITO INTERESSANTE!!!

C# 10 - Usando namespaces com escopo de arquivo (File Scoped Namespaces)

O novo recurso do C# 10 chamado de File Scoped Namespaces permite utilizar um namespace para um arquivo inteiro ao invés de usar um bloco {}.

https://www.macoratti.net/21/09/cnet6_namesfil1.htm

==========================================================

[]'s,

Fabio I.

Olá Guilherme,

"Por exemplo, a classe Funcionarios está no arquivo .cs no diretório Funcionarios, então o namespace tem que ser necessariamente ByteBank.Funcionarios?"

Sim!

Se a classe Funcionario.cs tivesse sido criada na raiz do projeto, o namespace seria: "ByteBank".

Ou seja, o namespace é o caminho para o seu arquivo. No caso o arquivo está no diretório "Funcionarios" então precisamos especificar onde o seu arquivo está, e fazemos isso utilizando o namespace "Bytebank.Funcionarios".

Se você tiver outro diretório com o nome "Exemplo" e dentro dele você tem uma classe nome "Classe1.cs", o namespace será: "Bytebank.Exemplo".

Abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software