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.