Partage via


Méthodes partielles (Visual Basic)

Les méthodes partielles permettent aux développeurs d’insérer une logique personnalisée dans du code. En règle générale, le code fait partie d’une classe générée par le concepteur. Les méthodes partielles sont définies dans une classe partielle créée par un générateur de code et sont couramment utilisées pour fournir une notification indiquant que quelque chose a été modifié. Ils permettent au développeur de spécifier un comportement personnalisé en réponse à la modification.

Le concepteur du générateur de code définit uniquement la signature de méthode et un ou plusieurs appels à la méthode. Les développeurs peuvent ensuite fournir des implémentations pour la méthode s’ils souhaitent personnaliser le comportement du code généré. Quand aucune implémentation n’est fournie, les appels à la méthode sont supprimés par le compilateur, ce qui n’entraîne aucune surcharge de performances supplémentaire.

Déclaration

Le code généré marque la définition d’une méthode partielle en plaçant le mot clé Partial au début de la ligne de signature.

Partial Private Sub QuantityChanged()  
End Sub  

La définition doit respecter les conditions suivantes :

  • La méthode doit être une Sub, pas une Function.

  • Le corps de la méthode doit être laissé vide.

  • Le modificateur d’accès doit être Private.

Implémentation

L’implémentation consiste principalement à remplir le corps de la méthode partielle. L’implémentation se trouve généralement dans une classe partielle distincte de la définition et est écrite par un développeur qui souhaite étendre le code généré.

Private Sub QuantityChanged()  
'    Code for executing the desired action.  
End Sub  

L’exemple précédent duplique la signature dans la déclaration exactement, mais les variantes sont possibles. En particulier, d’autres modificateurs peuvent être ajoutés, tels que Overloads ou Overrides. Un seul modificateur Overrides est autorisé. Pour plus d’informations sur les modificateurs de méthode, consultez Instruction sub.

Utilisation

Vous appelez une méthode partielle, car vous appelez toute autre procédure Sub . Si la méthode a été implémentée, les arguments sont évalués et le corps de la méthode est exécuté. Toutefois, n’oubliez pas que l’implémentation d’une méthode partielle est facultative. Si la méthode n’est pas implémentée, un appel à celui-ci n’a aucun effet et les expressions transmises en tant qu’arguments à la méthode ne sont pas évaluées.

Exemple

Dans un fichier nommé Product.Designer.vb, définissez une classe Product qui a une propriété Quantity .

Partial Class Product

    Private _Quantity As Integer

    Property Quantity() As Integer
        Get
            Return _Quantity
        End Get
        Set(ByVal value As Integer)
            _Quantity = value
            QuantityChanged()
        End Set
    End Property

    ' Provide a signature for the partial method.
    Partial Private Sub QuantityChanged()
    End Sub
End Class

Dans un fichier nommé Product.vb, fournissez une implémentation pour QuantityChanged.

Partial Class Product

    Private Sub QuantityChanged()
        MsgBox("Quantity was changed to " & Me.Quantity)
    End Sub

End Class

Enfin, dans la méthode Main d’un projet, déclarez une instance de Product et fournissez une valeur initiale pour sa propriété Quantity .

Module Module1

    Sub Main()
        Dim product1 As New Product With {.Quantity = 100}
    End Sub

End Module

Une boîte de message doit s’afficher pour afficher ce message :

Quantity was changed to 100

Voir aussi