Freigeben über


Teiltyp (C#-Referenz)

Teiltypdefinitionen ermöglichen, dass die Definition einer Klasse, Struktur, Schnittstelle oder eines Datensatzes in mehrere Definitionen aufgeteilt wird. Diese mehreren Definitionen können sich in verschiedenen Dateien im selben Projekt befinden. Eine Typdeklaration enthält nur die Signaturen für Teilmitlieder:

partial class A
{
    int num = 0;
    void MethodA() { }
    partial void MethodC();
}

Die andere Deklaration enthält die Implementierung der Teilmitglieder:

partial class A
{
    void MethodB() { }
    partial void MethodC() { }
}

Die Deklarationen für einen Teiltyp können entweder in derselben oder mehreren Dateien angezeigt werden. In der Regel befinden sich die beiden Deklarationen in verschiedenen Dateien. Sie teilen eine Klasse, Struktur oder einen Schnittstellentyp auf, wenn Sie mit großen Projekten arbeiten, mit automatisch generiertem Code wie dem Windows Forms-Designer oder Quellgeneratoren wie RegEx. Ein Teiltyp kann Teilmitglieder enthalten.

Ab C# 13 können Sie partielle Eigenschaften und partielle Indexer definieren. Ab C# 14 können Sie Partielle Instanzkonstruktoren und Partielle Ereignisse definieren. Vor C# 13 konnten nur Methoden als Teilmitglieder definiert werden.

Dokumentationskommentare können entweder über die deklarierende Deklaration oder die Implementierungsdeklaration bereitgestellt werden. Wenn Dokumentationskommentare auf beide Typdeklarationen angewendet werden, sind die XML-Elemente aus jeder Deklaration in der Ausgabe-XML enthalten. Im Artikel zu Teilmitgliedern finden Sie die Regeln für Teilmitgliederdeklarationen.

Sie können Attribute auf eine der beiden Deklarationen anwenden. Alle Attribute sind auch Deklarationen, einschließlich Duplikate, die in der kompilierten Ausgabe zusammengefasst werden.

Weitere Informationen finden Sie unter Partielle Klassen und Methoden.

C#-Sprachspezifikation

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Weitere Informationen