BC30506: A handles záradékhoz szükség van egy WithEvents változóra, amely a tartalmazó típusban vagy annak egyik alaptípusában van definiálva

Nem adott meg változót WithEvents a Handles záradékban. Az Handles eljárásdeklaráció végén lévő kulcsszó miatt a kulcsszó használatával WithEvents deklarált objektumváltozó által kiváltott eseményeket kezeli.

Hibaazonosító: BC30506

A hiba kijavítása

Adja meg a szükséges WithEvents változót.

példa

Az alábbi példában a Visual Basic fordítóhibát BC30506 generál, mert a WithEvents kulcsszó nem szerepel a System.Timers.Timer példány definíciójában.

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

Az alábbi példa sikeresen lefordítható, mert a _timer1 változó a WithEvents kulcsszóval van definiálva:

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

Lásd még