DUVIDA SIMPLES ORGANIZACAO DE PROJETO

ALEXPASSOS 07/11/2011 10:49:25
#388605
Olá

Eu estou migrando do vb.net para o C# e estou iniciando o meu primeiro projeto em C#. E de custume crio pastas dentro da solução para organizar o projeto e ficar tudo separado.... uma pasta para as classes - relatorios - form...

Veja na imagem

Só que toda vez que vou acessar uma classe ou form tenho que ficar colocando o nome da pasta exemplo

Se eu quiser acessar a classe clsForms que esta dentro da pasta Classes tenho que fazer assim

Classes.clsForms.objTeste = new Teste.frmTeste();
Classes.clsForms.objTeste.Show();

e no vb.net eu não preciso fazer isso, posso acessar direto a classe ai digito menos coisas.

é assim mesmo ou tenho outra alternativa?
KERPLUNK 07/11/2011 10:51:31
#388606
Você pode organizar as suas classes em uma estrutura de namespaces. Os namespaces, podem ser organizados da maneira que lhe for mais conveniente, independendo da pasta onde o arquivo físico está.
ALEXPASSOS 07/11/2011 11:02:52
#388611
não entendi... na verdade não entendi nada... rsrs

Teria como dar um exemplo?
KERPLUNK 07/11/2011 11:12:08
#388612
Quando vc cria uma pasta e coloca alguma coisa(classe, form...) dentro dela, no código já tem um namespace padrão, com o nome da pasta física em que o objeto está. Exemplo, suponhamos que vc tenha uma classe [Ô]cachorro[Ô] dentro da pasta [Ô]animais[Ô] ficaria mais ou menos assim:
namespace Animais
{
class Cachorro
{

}
}

Mas nada impede de vc mudar o nome do namespace ou mesmo agrupar:
namespace Animais.Mamiferos
{
class Cachorro
{

}
}

Agora imagine que vc tem uma outra pasta qualquer, com um nome qualquer com a classe [Ô]Gato[Ô] dentro. Vc não precisa usar o nome que o VS sugere, vc pode colocar essa classe dentro do namespace dos mamiferos:
namespace Animais.Mamiferos
{
class Gato
{

}
}

Assim, quando for insntanciar, seja cachorro ou gato, ou qualquer outra classe que esteja dentro do namespace [Ô]Animais.Mamiferos[Ô], todas as classes dentro do namespace vão aparecer na lista de sugestão.
A moral da estória é que o nome do namespace é livre, e vc pode usar qualquer coisa lá, e tudo que estiver contido dentro de um namespace(mesmo que em arquivos/classes separadas) vai estar sempre agrupado.
Tópico encerrado , respostas não são mais permitidas