Lire en anglais

Partager via


BC30506 : La clause Handles requiert une variable WithEvents définie dans le type conteneur ou l’un de ses types de base

Vous n’avez pas fourni de variable WithEvents dans votre clause Handles. Utilisez le mot clé Handles à la fin d'une déclaration de procédure pour que celle-ci gère les événements déclenchés par une variable objet déclarée à l’aide du mot clé WithEvents.

ID d’erreur : BC30506

Pour corriger cette erreur

Fournissez la variable WithEvents nécessaire.

Exemple

Dans l’exemple suivant, Visual Basic génère une erreur du compilateur BC30506, car le mot clé WithEvents n’est pas utilisé dans la définition de l’instance System.Timers.Timer.

VB
Imports System.Timers

Module Module1
    Private _timer1 As New Timer() With {.Interval = 1000, .Enabled = True}

    Sub Main()
        Console.WriteLine("Press any key to start the timer...")
        Console.ReadKey()
        _timer1.Start()
        Console.ReadKey()
    End Sub

    Private Sub Timer1_Tick(sender As Object, args As EventArgs) Handles _timer1.Elapsed
        Console.WriteLine("Press any key to terminate...")
    End Sub
End Module

L’exemple suivant compile correctement, car la variable _timer1 est définie avec le mot clé WithEvents :

VB
Imports System.Timers

Module Module1
    Private WithEvents _timer1 As New Timer() With {.Interval = 1000}

    Sub Main()
        Console.WriteLine("Press any key to start the timer...")
        Console.ReadKey()
        _timer1.Start()
        Console.ReadKey()
    End Sub

    Private Sub Timer1_Tick(sender As Object, args As EventArgs) Handles _timer1.Elapsed
        Console.WriteLine("Press any key to terminate...")
    End Sub

End Module

Voir aussi