英語で読む

次の方法で共有


BC31122:'Custom' 修飾子は、明示的なデリゲート型なしで宣言されたイベントでは無効です。

非カスタム イベントと異なり、Custom Event 宣言では、イベント名の後に、イベントのデリゲート型を明示的に指定する As 句が必要です。

非カスタム イベントを定義するには、As 句と明示的なデリゲート型を使用するか、またはイベント名の直後にパラメーター リストを指定します。

エラー ID: BC31122

このエラーを解決するには

  1. カスタム イベントと同じパラメーター リストでデリゲートを定義します。

    たとえば、Custom EventCustom 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

関連項目