Freigeben über


BC30506: Die Handles-Klausel erfordert eine WithEvents-Variable, die im enthaltenden Typ oder einem seiner Basistypen definiert wird

Sie haben in Ihrer Handles-Klausel keine Variable WithEvents eingegeben. Verwenden Sie das Handles-Schlüsselwort am Ende der Prozedurdeklaration, damit sie Ereignisse verarbeitet, die durch eine mithilfe des Schlüsselworts WithEvents deklarierte Objektvariable ausgelöst wurden.

Fehler-ID: BC30506

So beheben Sie diesen Fehler

Geben Sie die erforderliche WithEvents-Variable an.

Beispiel

Im folgenden Beispiel generiert Visual Basic Compilerfehler BC30506, da das WithEvents-Schlüsselwort in der Definition der System.Timers.Timer-Instanz nicht verwendet wird.

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

Im folgenden Beispiel wird erfolgreich kompiliert, da die _timer1-Variable mit dem WithEvents-Schlüsselwort definiert ist:

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

Siehe auch