Partage via


Partial (Visual Basic)

Indique qu'une déclaration de type est une définition partielle du type.

Vous pouvez diviser la définition d'un type entre plusieurs déclarations à l'aide du mot clé Partial. Vous pouvez utiliser autant de déclarations partielles que vous le souhaitez, dans autant de fichiers sources que vous le souhaitez. Toutefois, toutes les déclarations doivent être dans le même assembly et le même espace de noms.

Notes

Visual Basic prend en charge les méthodes partielles, qui sont généralement implémentées dans des classes partielles. Pour plus d’informations, consultez Méthodes partielles et Instruction Sub.

Syntaxe

[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _  
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]  
    [ Inherits classname ]  
    [ Implements interfacenames ]  
    [ variabledeclarations ]  
    [ proceduredeclarations ]  
{ End Class | End Structure }  

Éléments

Terme Définition
attrlist Optionnel. Liste des attributs qui s'appliquent à ce type. Vous devez placer la liste des attributs entre chevrons (< >).
accessmodifier Optionnel. Spécifie le code pouvant accéder à ce type. Consultez Access levels in Visual Basic.
Shadows Optionnel. Consultez Shadows.
MustInherit Optionnel. Consultez MustInherit.
NotInheritable Optionnel. Consultez NotInheritable.
name Obligatoire. Nom de ce type. Doit correspondre au nom défini dans toutes les autres déclarations partielles du même type.
Of Optionnel. Spécifie qu'il s'agit d'un type générique. Consultez Types génériques en Visual Basic.
typelist Obligatoire si vous utilisez Of. Consultez la liste de types.
Inherits Optionnel. Consultez Instruction Inherits.
classname Requis si vous utilisez Inherits. Nom de la classe ou de l'interface dont cette classe dérive.
Implements Optionnel. Consultez Instruction Implements.
interfacenames Requis si vous utilisez Implements. Noms des interfaces que ce type implémente.
variabledeclarations Optionnel. Instructions qui déclarent des variables et des événements supplémentaires pour ce type.
proceduredeclarations Optionnel. Instructions qui déclarent et définissent des procédures supplémentaires pour ce type.
End Class ou End Structure Met fin à cette définition partielle de Class ou de Structure.

Notes

Visual Basic utilise des définitions de classe partielle pour séparer le code généré du code créé par l'utilisateur dans des fichiers sources distincts. Par exemple, le Concepteur Windows Form définit des classes partielles pour des contrôles tels que Form. Vous ne devez pas modifier le code généré dans ces contrôles.

Toutes les règles de création de classes, structures, interfaces et modules, telles que celles relatives à l'héritage et à l'utilisation de modificateurs, s'appliquent lors de la création d'un type partiel.

Bonnes pratiques

  • Dans des circonstances normales, vous ne devez pas scinder le développement d'un type unique entre deux déclarations ou plus. Par conséquent, dans la plupart des cas, vous n'avez pas besoin du mot clé Partial.

  • Pour une meilleure lisibilité, chaque déclaration partielle d'un type doit inclure le mot clé Partial. Le compilateur permet au plus à une déclaration partielle d'omettre le mot clé. Si deux déclarations ou plus l'omettent, le compilateur signale une erreur.

Comportement

  • Union de déclarations. Le compilateur traite ce type comme l'union de toutes ses déclarations partielles. Chaque modificateur issu de chaque définition partielle s'applique à l'ensemble du type, et chaque membre issu de chaque définition partielle est disponible pour l'ensemble du type.

  • Promotion de type non autorisée pour les types partiels dans les modules. Si une définition partielle est comprise dans un module, la promotion de type de ce type est automatiquement annulée. Dans ce cas, un ensemble de définitions partielles peut provoquer des résultats inattendus, voire même des erreurs du compilateur. Pour plus d’informations, consultez Promotion de type.

    Le compilateur fusionne des définitions partielles uniquement lorsque leurs chemins qualifiés complets sont identiques.

Le mot clé Partial peut être utilisé dans les contextes suivants :

Class (instruction)

Structure, instruction

Exemple

L'exemple suivant fractionne la définition de la classe sampleClass en deux déclarations, dont chacune définit une procédure Sub différente.

Partial Public Class sampleClass
    Public Sub sub1()
    End Sub
End Class
Partial Public Class sampleClass
    Public Sub sub2()
    End Sub
End Class

Les deux définitions partielles de l'exemple précédent peuvent être dans le même fichier source ou dans deux fichiers sources différents.

Voir aussi