Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Schlüsselwort partial ermöglicht es, verschiedene Teile derselben Verweisklasse unabhängig voneinander und in verschiedenen Dateien zu erstellen.
Alle Laufzeiten
(Dieses Sprachfeature gilt nur für die Windows-Runtime.)
Windows-Runtime
Bei einer Verweisklasse mit zwei Teildefinitionen wird das Partielle Schlüsselwort auf das erste Vorkommen der Definition angewendet, und dies erfolgt in der Regel durch automatisch generierten Code, sodass ein menschlicher Code das Schlüsselwort nicht sehr häufig verwendet. Lassen Sie bei allen nachfolgenden partiellen Definitionen der Klasse den Modifizierer partial im Schlüsselwort class-key und im Klassenbezeichner weg. Wenn der Compiler eine zuvor definierte Verweisklasse und einen Klassenbezeichner findet, aber kein partial-Schlüsselwort, kombiniert er intern alle Teile der Verweisklassendefinition in eine einzige Definition.
Syntax
partial class-key identifier {
/* The first part of the partial class definition.
This is typically auto-generated */
}
// ...
class-key identifier {
/* The subsequent part(s) of the class definition. The same
identifier is specified, but the "partial" keyword is omitted. */
}
Parameter
class-key
Ein Schlüsselwort, das eine Klasse oder Struktur deklariert, die durch die Windows-Runtime unterstützt wird. ref class, value class, ref struct oder value struct.
identifier
Der Name des definierten Typs.
Hinweise
Eine partielle Klasse unterstützt Szenarien, in denen Sie einen Teil einer Klassendefinition in einer Datei ändern und Software für die automatische Codegenerierung – beispielsweise der XAML Designer – den Code in der gleichen Klasse in einer anderen Datei ändert. Durch Verwendung einer partiellen Klasse können Sie verhindern, dass der automatische Codegenerator Ihren Code überschreibt. In einem Visual Studio-Projekt wird der Modifizierer partial automatisch auf die generierte Datei angewendet.
Inhalt: Mit zwei Ausnahmen kann eine partielle Klassendefinition alles enthalten, was die vollständige Klassendefinition enthalten kann, wenn das Partielle Schlüsselwort weggelassen wurde. Sie können jedoch keinen Klassenzugriff (z.B. public partial class X { ... };) oder declspec angeben.
Zugriffsspezifizierer, die in einer partiellen Klassendefinition für identifier verwendet werden, wirken sich nicht auf den Standardzugriff in einer nachfolgenden partiellen oder vollständigen Klassendefinition für identifier aus. Inlinedefinitionen statischer Datenmember sind zulässig.
Deklaration: Eine partielle Definition eines Klassenbezeichners führt nur den Namensbezeichner ein, aber der Bezeichner kann nicht auf eine Weise verwendet werden, die eine Klassendefinition erfordert. Der identifier für den Namen kann nicht zur Größenbestimmung von identifier oder zur Verwendung einer Basisklasse oder eines Members von identifier verwendet werden, bis der Compiler die vollständige Definition von identifier findet.
Zahl und Sortierung: Es kann null oder mehr Partielle Klassendefinitionen für den Bezeichner geben. Jede partielle Klassendefinition von identifier muss lexikalisch einer vollständigen Definition von identifier vorangehen (sofern eine vollständige Definition vorhanden ist; andernfalls kann die Klasse außer bei Verwendung von „forward-declared“ nicht verwendet werden). Vorwärtsdeklarationen von identifier muss sie jedoch nicht vorangehen. Alle Klassenschlüssel müssen übereinstimmen.
Vollständige Definition: Am Punkt der vollständigen Definition des Klassenbezeichners entspricht das Verhalten dem, wenn die Definition des Bezeichners alle Basisklassen, Member usw. in der Reihenfolge deklariert hat, in der sie gefunden und in den Partiellen Klassen definiert wurden.
Vorlagen: Eine partielle Klasse kann keine Vorlage sein.
Generika: Eine partielle Klasse kann ein Generika sein, wenn die vollständige Definition generisch sein könnte. Allerdings muss jede partielle und vollständige Klasse exakt die gleichen generischen Parameter enthalten, einschließlich formaler Parameternamen.
Weitere Informationen zur Verwendung des Schlüsselworts partial finden Sie unter Partielle Klassen (C++/CX).
Anforderungen
Compileroption: /ZW
Übersicht: Common Language Runtime (CLR)
(Dieses Sprachfeature gilt nicht für die Common Language Runtime.)