Modificatore 'Custom' non valido negli eventi dichiarati senza tipi delegati espliciti

Aggiornamento: novembre 2007

'Custom' modifier is not valid on events declared without explicit delegate types

A differenza di evento non personalizzato, una dichiarazione Custom Event richiede la presenza di una clausola As dopo il nome dell'evento che specifichi in modo esplicito il tipo di delegato per l'evento.

Gli eventi non personalizzati possono essere definiti con una clausola As e un tipo delegato esplicito oppure con un elenco di parametri immediatamente successivo al nome dell'evento.

ID errore: BC31122

Per correggere l'errore

  1. Definire un delegato con lo stesso elenco di parametri dell'evento personalizzato.

    Ad esempio, se l'evento Custom Event è stato definito da Custom Event Test(ByVal sender As Object, ByVal i As Integer), il delegato corrispondente sarebbe il seguente:

    Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
    
  2. Sostituire l'elenco di parametri dell'evento personalizzato con una clausola As che specifica il tipo di delegato.

    Continuando con l'esempio, la dichiarazione Custom Event verrebbe riscritta nel modo seguente.

    Custom Event Test As TestDelegate
    

Esempio

Questo esempio dichiara un Custom Event e specifica la clausola As richiesta con un tipo delegato.

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

Vedere anche

Riferimenti

Custom

Istruzione Event

Istruzione Delegate

Altre risorse

Eventi In Visual Basic