partial (Método) (Referencia de C#)

Un método parcial tiene su signatura definida en una parte de un tipo parcial y su implementación definida en otra parte del tipo. Los métodos parciales permiten a los diseñadores de clases proporcionar enlaces de método, similares a los controladores de eventos, que los desarrolladores pueden decidir implementar o no. Si el desarrollador no proporciona una implementación, el compilador quita la signatura en tiempo de compilación. Se aplican las siguientes condiciones a los métodos parciales:

  • Las declaraciones deben comenzar con la palabra clave contextual partial.

  • Las signaturas de ambas partes del tipo parcial deben coincidir.

No se permite la palabra clave partial en constructores, finalizadores, operadores sobrecargados, declaraciones de propiedad o declaraciones de eventos.

No es necesario que un método parcial tenga una implementación en los casos siguientes:

Cualquier método que no cumpla todas estas restricciones (por ejemplo, public virtual partial void) debe proporcionar una implementación.

En el ejemplo siguiente se muestra un método parcial definido en dos partes de una clase 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);
        }
    }
}

Los métodos parciales también pueden ser útiles en combinación con los generadores de código fuente. Por ejemplo, se podría definir una expresión regular con el siguiente patrón:

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

Para más información, vea Clases y métodos parciales.

Consulte también