TOC

This article has been localized into Portuguese by the community.

Classes:

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.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!