Modyfikator partial pozwala rozbić definicję klasy (ew. struktury, interfejsu lub szablonu) na wiele kawałów, przechowywanych w różnych plikach. Przykładowo:
public partial class Klient { // Pierwszy kawałek definicji private int imie; private string adres; ... } public partial class Klient { // kolejny kawałek definicji klasy. public void zamów( ) { ... } }
Kiedy kompilujemy razem oba kawałki kodu, efekt jest taki sam jakby cała definicja klasy była zapisana w jednym kawałku. Jednak należy pamiętać o tym, że wszystkie części klasy muszą być skompilowane wspólnie (wszystkie kawałki definicji muszą być ze sobą scalone już podczas kompilacji).
Każdy fragment typu częściowego musi zawierać modyfikator partial. Jeżeli deklarujemy klasę z tym modyfikatorem to wskazujemy, że jej pozostałe części mogą pojawić się w innym miejscu - ale wcale nie muszą.
Ponadto wszystkie części tej samej klasy muszą być zdefiniowane w tej samej przestrzeni nazw oraz posiadać ten sam rodzaj dostępu (public, protected, internal czy private). Jeżeli którakolwiek z części klasy zawiera modyfikator abstract lub sealed to odnosi się on do całej klasy. Podobnie z dziedziczeniem - wystarczy aby wskazanie klasy nadrzędnej wystąpiło jedynie w jednym miejscu. Jednak gdybyśmy część deklaracji typu częściowego opatrzyli modyfikatorem unsafe, to modyfikator ten będzie odnosił się tylko do tej szczególnej części.