C# para programadores Delphi - Namespaces
A grosso modo, podemos dizer que um namespace e apenas um nome usado para agrupar classes ou outros namespaces. DSessa forma, as classes passam a ter, digamos, “nome e sobrenome”. Ao inves de termos apenas o nome da classe, temos um agrupamentos de classes por proposito, tornando a estrutura de classes mais organizada e intuitiva.
Namespaces evitam conflito entre nomes de classes, tanto entre suas proprias classes quanto entre suas classes e classes do .NET Framework ou de bibliotecas de terceiros. Mesmo que existam duas ou mais classes com o mesmo nome, desde que elas estejam em namespaces diferentes nao ha problema algum. Uma abordagem comum para evitar esse problema e utilizar prefixos nas classes de um determinado grupo de classes. Por exemplo, a DevExpress utiliza os prefixos “cx” e “dx” nos nomes das classes de sua biblioteca para Delphi (TcxGrid, por exemplo).
Um namespace e criado utilizando a palavra chave “namespace” seguida de seu nome, e entao as classes sao criadas dentro do bloco de codigo delimitado para o namespace.
namespace MyLibrary
{
class MyClass
{
public static void Main()
{
System.Console.WriteLine("Hello World!");
}
}
}
Namespaces tambem podem ser aninhados, criando estruturas hierarquicas. Isso permite criar namespaces mais gerais, que contem namespaces mais especificos, ate chegar ao nivel das classes, bem especializadas. Existem duas formas de faze-lo:
// Aninhando as declarac,oes
namespace Outer
{
namespace Inner
{
class MyClass
{
// codigo da classe aqui
}
}
}// Declarac,oes separadas, especificando o nome completo
namespace Outer
{
// Classes aqui
}
namespace Outer.Inner
{
// Classes aqui
}
A palavra chave “using”
A palavra chave “using” serve como um atalho, evitando que voce tenha que digitar nome completo de uma classe ou um namespace. Por exemplo, para chamar o metodo WriteLine da classe System.Console, normalmente se utiliza:
System.Console.WriteLine("Hello");
Com a palavra chave using, fica mais simples, principalmente se houverem muitas chamadas:
using System; // Dispensa ter que explicitar o namespace System.
Console.WriteLine("Hello!");
A palavra chave using tambem pode ser usada para criar aliases para nomes de classes longos, nao necessariamente apenas omitir seu caminho. Por exemplo:
using theClass = Outer.Inner.MyClass;
theClass.method();
Recursos
Como bonus, coloco aqui links para diagramas que listam os principais namespaces e nomes de classes do .NET Framework, recurso muito util principalmente para quem esta comec,ando (como eu), e ainda nao sabe bem nem o que tem que se aprender.
PDF com principais namespaces e classes do Windows.Forms
PDF com os principais namespaces e classes do .NET Framework 3.5
assine você também!







Deixe um comentário