Teilen ü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. Das Aufteilen eines Klassen-, Struktur- oder Schnittstellentyps auf mehrere Dateien kann nützlich sein, wenn Sie mit großen Projekten oder mit automatisch erzeugten Codes arbeiten, wie z.B. denjenigen, die vom Windows Forms-Designer oder Quellengeneratoren wie RegEx bereitgestellt werden. Ein Teiltyp kann Teilmitglieder enthalten.

Ab C# 13 können Sie partielle Eigenschaften und partielle Indexer 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