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 :
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.