gedeeltelijke methode (C#-verwijzing)

Een gedeeltelijke methode heeft de handtekening gedefinieerd in het ene deel van een gedeeltelijk type en de implementatie die is gedefinieerd in een ander deel van het type. Met gedeeltelijke methoden kunnen klasseontwerpers methodehook bieden, vergelijkbaar met gebeurtenis-handlers, die ontwikkelaars kunnen besluiten om te implementeren of niet. Als de ontwikkelaar geen implementatie levert, verwijdert de compiler de handtekening tijdens het compileren. De volgende voorwaarden zijn van toepassing op gedeeltelijke methoden:

  • Declaraties moeten beginnen met het contextuele trefwoord gedeeltelijk.

  • Handtekeningen in beide delen van het gedeeltelijke type moeten overeenkomen.

Het partial trefwoord is niet toegestaan voor constructors, finalizers, overbelaste operators, declaraties van eigenschappen of gebeurtenisdeclaraties.

Een gedeeltelijke methode is niet vereist voor een implementatie in de volgende gevallen:

Elke methode die niet voldoet aan al deze beperkingen (bijvoorbeeld public virtual partial void een methode), moet een implementatie bieden.

In het volgende voorbeeld ziet u een gedeeltelijke methode die is gedefinieerd in twee delen van een gedeeltelijke klasse:

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

Gedeeltelijke methoden kunnen ook nuttig zijn in combinatie met brongeneratoren. Een regex kan bijvoorbeeld worden gedefinieerd met behulp van het volgende patroon:

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

Zie Gedeeltelijke klassen en methoden voor meer informatie.

Zie ook