Freigeben über


Der Custom-Modifizierer ist für Ereignisse, die in Schnittstellen deklariert sind, nicht gültig

Aktualisiert: November 2007

'Custom' modifier is not valid on events declared in interfaces

Benutzerdefinierte Ereignisse können nicht in einer Schnittstelle deklariert werden, weil ein benutzerdefiniertes Ereignis eine Implementierung der Methoden AddHandler, RemoverHandler und RaiseEvent bereitstellen muss.

Das Custom-Schlüsselwort kann in einer abgeleiteten Klasse verwendet werden, die das Ereignis implementiert.

Fehler-ID: BC31121

So beheben Sie diesen Fehler

  • Entfernen Sie das Custom-Schlüsselwort aus der Ereignisdeklaration in der Schnittstelle.

Beispiel

In diesem Beispiel wird veranschaulicht, wie ein in einer Schnittstelle deklariertes Ereignis als benutzerdefiniertes Ereignis implementiert wird.

Interface TestInterface
    Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)

    Event Test As TestDelegate
End Interface

Class TestClass
    Implements TestInterface

    Public Custom Event Test As TestInterface.TestDelegate _
    Implements TestInterface.Test
        AddHandler(ByVal value As TestInterface.TestDelegate)
            ' Code for adding an event handler goes here.
        End AddHandler

        RemoveHandler(ByVal value As TestInterface.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
End Class

Siehe auch

Referenz

Custom

<languageKeyword>Event</languageKeyword>-Anweisung

Delegate-Anweisung

Class-Anweisung (Visual Basic)

Interface-Anweisung (Visual Basic)

Weitere Ressourcen

Ereignisse in Visual Basic