Método parcial (C# Reference)

Um método parcial tem sua assinatura definida em uma parte de um tipo parcial e sua implementação definida em outra parte do tipo. Os métodos parciais permitem que os designers de classe forneçam ganchos de método, semelhantes a manipuladores de eventos, que os desenvolvedores podem decidir implementar ou não. Se o desenvolvedor não fornecer uma implementação, o compilador removerá a assinatura no tempo de compilação. As seguintes condições são aplicáveis a métodos parciais:

  • As declarações devem começar com a palavra-chave contextual partial.

  • As assinaturas em ambas as partes do tipo parcial devem ser correspondentes.

A palavra-chave partial não é permitida em construtores, finalizadores, operadores sobrecarregados, declarações de propriedade ou declarações de evento.

Um método parcial não precisa ter uma implementação nos seguintes casos:

Qualquer método que não esteja em conformidade com todas essas restrições (por exemplo, método public virtual partial void), deve fornecer uma implementação.

O exemplo a seguir mostra um método parcial definido em duas partes de uma classe parcial:

namespace PM
{
    partial class A
    {
        partial void OnSomethingHappened(string s);
    }

    // This part can be in a separate file.
    partial class A
    {
        // Comment out this method and the program
        // will still compile.
        partial void OnSomethingHappened(String s)
        {
            Console.WriteLine("Something happened: {0}", s);
        }
    }
}

Métodos parciais também podem ser úteis em combinação com geradores de origem. Por exemplo, uma expressão regular pode ser definida usando o seguinte padrão:

[GeneratedRegex("(dog|cat|fish)")]
partial bool IsPetMatch(string input);

Para obter mais informações, consulte Classes parciais e métodos.

Confira também