BC31122 : le modificateur « Custom » n’est pas valide pour les événements déclarés sans types délégués explicites

Contrairement à un événement non personnalisé, une déclaration Custom Event nécessite une clause As qui suit le nom de l’événement qui spécifie explicitement le type délégué pour l’événement.

Les événements non personnalisés peuvent être définis soit avec une clause As et un type délégué explicite, soit avec une liste de paramètres immédiatement après le nom de l’événement.

ID d’erreur : BC31122

Pour corriger cette erreur

  1. Définissez un délégué avec la même liste de paramètres que l’événement personnalisé.

    Par exemple, si le Custom Event a été défini par Custom Event Test(ByVal sender As Object, ByVal i As Integer), le délégué correspondant est le suivant.

    Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
    
  2. Remplacez la liste de paramètres de l’événement personnalisé par une clause As spécifiant le type délégué.

    En continuant avec l’exemple, la déclaration Custom Event serait réécrite comme suit.

    Custom Event Test As TestDelegate
    

Exemple

Cet exemple déclare un Custom Event et spécifie la clause As requise avec un type délégué.

Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
Custom Event Test As TestDelegate
    AddHandler(ByVal value As TestDelegate)
        ' Code for adding an event handler goes here.
    End AddHandler

    RemoveHandler(ByVal value As TestDelegate)
        ' Code for removing an event handler goes here.
    End RemoveHandler

    RaiseEvent(ByVal sender As Object, ByVal i As Integer)
        ' Code for raising an event goes here.
    End RaiseEvent
End Event

Voir aussi