Поделиться через


Модификатор Custom недопустим для событий, объявленных без явных делегируемых типов

Обновлен: Ноябрь 2007

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

В отличие от обычного события для объявления Custom Event необходимо указать предложение As после имени события, которое явно указывает тип делегата для события.

Обычные события могут быть определены с помощью предложения As и явного типа делегата или списка параметров, следующего сразу после имени события.

Идентификатор ошибки: BC31122

Исправление этой ошибки

  1. Определите делегат с тем же списком параметров, как у пользовательского события.

    Например, если Custom Event было определено с помощью Custom Event Test(ByVal sender As Object, ByVal i As Integer), то соответствующий делегат будет такой, как приведен ниже.

    Delegate Sub TestDelegate(ByVal sender As Object, ByVal i As Integer)
    
  2. Замените список параметров пользовательского события с помощью предложения As, задающего тип делегата.

    Объявление Custom Event в примере можно переписать следующим образом.

    Custom Event Test As TestDelegate
    

Пример

В этом примере объявляется Custom Event и указывается требуемое предложение As с типом делегата.

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

См. также

Ссылки

Пользовательский

Оператор Event

Оператор Delegate

Другие ресурсы

События в Visual Basic