partial – metoda (Referenční příručka jazyka C#)

Částečná metoda má svou signaturu definovanou v jedné části částečného typu a implementaci definovanou v jiné části typu. Částečné metody umožňují návrhářům tříd poskytovat háky metod, podobně jako obslužné rutiny událostí, u kterých se mohou vývojáři rozhodnout, zda je chtějí implementovat nebo ne. Pokud vývojář neposkytne implementaci, kompilátor v době kompilace odebere signaturu. Na částečné metody se uplatňují tyto podmínky:

  • Deklarace musí začínat částečným klíčovým slovemcontextual .

  • Podpisy v obou částech částečného typu se musí shodovat.

Částečná metoda není nutná k implementaci v následujících případech:

Každá metoda, která neodpovídá všem ohledem na tato omezení (například public virtual partial void metoda), musí poskytovat implementaci.

Následující příklad ukazuje částečnou metodu definovanou ve dvou částech částečné třídy:

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);
        }
    }
}

Částečné metody mohou být užitečné také v kombinaci s generátory zdrojů. Například regulární výraz lze definovat pomocí následujícího vzoru:

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

Další informace najdete v tématu Částečné třídy a metody.

Viz také