This article has been localized into Portuguese by the community.
Classes parciais
Se você trabalhou com C#, ou talvez até com outra linguagem de programação, está acostumado com o fato de que o nome de uma classe deve ser único - não pode haver duas classes com o mesmo nome, a menos que estejam em namespaces diferentes. No entanto, em um ponto, a Microsoft decidiu mudar isso, com a introdução de algo chamado classes parciais.
Quando você define sua classe com a palavra-chave partial, você ou outra pessoa pode estender a funcionalidade de sua classe com outra classe, que também precisa ser declarada como parcial. Isso é útil nas seguintes situações:
- Quando você tem uma classe muito grande - você pode mantê-la em vários arquivos, para facilitar o trabalho com várias partes das classes. Por exemplo, você pode ter todas as propriedades em um arquivo e todos os métodos em outro arquivo, enquanto ainda tem apenas uma classe.
- Quando você trabalha com um designer, como o do Visual Studio - por exemplo, com o WinForms, onde todo o código de designer gerado automaticamente pode ser mantido em um arquivo, enquanto o código é mantido em outro arquivo.
Deixe-me ilustrar isso com um exemplo. No meu projeto, eu tenho o habitual Program.cs, encontrado em um aplicativo de console. Além disso, adicionei dois arquivos: PartialClass1.cs e PartialClass2.cs. Aqui estão os arquivos e seu conteúdo:
PartialClass1.cs
using System;
namespace PartialClasses
{
public partial class PartialClass
{
public void HelloWorld()
{
Console.WriteLine("Hello, world!");
}
}
}
PartialClass2.cs
using System;
namespace PartialClasses
{
public partial class PartialClass
{
public void HelloUniverse()
{
Console.WriteLine("Hello, universe!");
}
}
}
Observe que ambas as classes são definidas com a palavra-chave partial e possuem os mesmos nomes. Observe também que cada um deles define um método - HelloWorld() e HelloUniverse(). Em nosso Program.cs podemos agora usar esta classe como se ela estivesse definida em apenas um lugar, como qualquer outra classe:
using System;
namespace PartialClasses
{
class Program
{
static void Main(string[] args)
{
PartialClass pc = new PartialClass();
pc.HelloWorld();
pc.HelloUniverse();
}
}
}
Resumo
Com classes parciais, você pode dividir suas classes em vários arquivos, seja porque a definição da classe é muito grande ou quando as ferramentas com as quais você trabalha se beneficiam, como com o designer do Visual Studio para WinForms.