Partager via


partiel (C++/CLI et C++/CX)

Le mot clé partial permet de créer indépendamment et dans différents fichiers différentes parties de la même classe ref.

Tous les runtimes

(Cette fonctionnalité de langage s’applique uniquement à Windows Runtime.)

Windows Runtime

Pour une classe ref qui a deux définitions partielles, le mot clé partiel est appliqué à la première occurrence de la définition, et cela est généralement effectué par du code généré automatiquement, afin qu’un codeur humain n’utilise pas le mot clé très souvent. Pour toutes les définitions partielles de la classe suivantes, omettez le modificateur partial du mot clé class-key et de l’identificateur de classe. Lorsque le compilateur rencontre une classe ref et un identificateur de classe définis précédemment, mais aucun mot clé partial, il combine en interne toutes les parties de la définition de classe ref dans une seule définition.

Syntaxe

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. */
}

Paramètres

class-key
Un mot clé qui déclare une classe ou un struct pris en charge par Windows Runtime. ref class, value class, ref struct, ou value struct.

identifier
Le nom du type défini.

Notes

Une classe partielle prend en charge les scénarios dans lesquels vous modifiez une partie d’une définition de classe dans un fichier, et un logiciel de génération de code automatique, par exemple le concepteur XAML, modifie le code de la même classe dans un autre fichier. L’utilisation d’une classe partielle vous permet d’empêcher le générateur de code automatique de remplacer votre code. Dans un projet Visual Studio, le modificateur partial est appliqué automatiquement au fichier généré.

Contenu : avec deux exceptions, une définition de classe partielle peut contenir tout ce que la définition de classe complète peut contenir si le mot clé partiel a été omis. Toutefois, vous ne pouvez pas spécifier d’accessibilité de classe (par exemple, public partial class X { ... };), ou declspec.

Les spécificateurs d’accès utilisés dans une définition de classe partielle pour identifier n’affectent pas l’accessibilité par défaut dans une définition de classe partielle ou complète suivante pour identifier. Les définitions incluses des membres de données statiques sont autorisées.

Déclaration : une définition partielle d’un identificateur de classe introduit uniquement l’identificateur de nom, mais l’identificateur ne peut pas être utilisé de manière à exiger une définition de classe. Le nom identifier ne peut pas être utilisé pour déterminer la taille d’identifier, ni pour utiliser une base ou un membre d’identifier jusqu’à ce que le compilateur rencontre la définition complète d’identifier.

Nombre et classement : il peut y avoir zéro ou plusieurs définitions de classes partielles pour l’identificateur. Chaque définition de classe partielle d’identifier doit précéder lexicalement la définition complète d’identifier (s’il existe une définition complète ; sinon, la classe ne peut pas être utilisée, sauf si elle a été déclarée avant), mais ne doit pas obligatoirement précéder les déclarations anticipées d’identifier. Toutes les class-keys doivent correspondre.

Définition complète : au point de la définition complète de l’identificateur de classe, le comportement est identique à celui de la définition de l’identificateur ayant déclaré toutes les classes de base, membres, etc. dans l’ordre dans lequel ils ont été rencontrés et définis dans les classes partielles.

Modèles : une classe partielle ne peut pas être un modèle.

Génériques : une classe partielle peut être générique si la définition complète peut être générique. Mais toutes les classes partielles et complètes doivent avoir exactement les mêmes paramètres génériques, y compris les noms de paramètres formels.

Pour plus d’informations sur l’utilisation du mot clé partial, consultez Classes partielles (C++/CX).

Spécifications

Option du compilateur : /ZW

Common Language Runtime

(Cette fonctionnalité de langage ne s’applique pas à Common Language Runtime.)

Voir aussi

Classes partielles (C++/CX)