VB.NET(not c#)...VB.netでキャンセル可能なイベントを作成する方法
リスナーがキャンセルできるイベントを作成したいと思います。 winformsフォームの終了イベントを取り消すことができるのと同じように、フォームは終了しません。私は、コンストラクタにByRefのキャンセル引数を渡すのです
Public Class AnnounceNavigateEventArgs
Inherits EventArgs
Private _cancel As Boolean = False
''' <summary>
''' Initializes a new instance of the AnnounceNavigateEventArgs class.
''' </summary>
Public Sub New(ByRef cancel As Boolean)
_cancel = cancel
End Sub
Public Property Cancel() As Boolean
Get
Return _cancel
End Get
Set(ByVal value As Boolean)
_cancel = value
End Set
End Property
End Class
お知らせ:
は、私はすでに次のように設定可能なプロパティをキャンセルしているのEventArgsから派生したクラスを実装しています。
私が設定したリスナーは、プロパティをCancel = Trueに設定しています。私は、ByRefが_cancelとcancelの両方がスタック上の同じ場所を指し、_cancel = trueを設定するとcancel = trueになることを意味すると考えました。しかし、これは私が得ている行動ではありません。 _cancelはsetterでtrueになりますが、コンストラクタへの引数はfalseのままです。
vb.netでこれを行う適切な方法は何ですか?
セスは
ありがとうございました。 Seth –
'CancelEventArgs'から継承する必要はありません。あなたはそれを直接使うことができます。 –
'PublicEvent Announcing As As CancelEventHandler' –