partial, metoda (odwołanie w C#)

Metoda częściowa ma swój podpis zdefiniowany w jednej części typu częściowego i jego implementację zdefiniowaną w innej części typu. Metody częściowe umożliwiają projektantom klas udostępnianie punktów zaczepienia metod, podobnie jak programy obsługi zdarzeń, które deweloperzy mogą zdecydować się zaimplementować lub nie. Jeśli deweloper nie dostarcza implementacji, kompilator usuwa podpis w czasie kompilacji. Następujące warunki dotyczą metod częściowych:

  • Deklaracje muszą zaczynać się od częściowego słowa kluczowego kontekstowego.

  • Podpisy w obu częściach typu częściowego muszą być zgodne.

Słowo partial kluczowe nie jest dozwolone w konstruktorach, finalizatorach, przeciążonych operatorach, deklaracjach właściwości lub deklaracjach zdarzeń.

Metoda częściowa nie jest wymagana do wdrożenia w następujących przypadkach:

Każda metoda, która nie jest zgodna ze wszystkimi tymi ograniczeniami (na przykład public virtual partial void metodą), musi zapewnić implementację.

Poniższy przykład przedstawia metodę częściową zdefiniowaną w dwóch częściach klasy częściowej:

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

Metody częściowe mogą być również przydatne w połączeniu z generatorami źródłowymi. Na przykład wyrażenie regularne można zdefiniować przy użyciu następującego wzorca:

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

Aby uzyskać więcej informacji, zobacz Klasy częściowe i metody.

Zobacz też