イベント ハンドラの結び付けを解除するステートメントを表します。
この型のすべてのメンバの一覧については、CodeRemoveEventStatement メンバ を参照してください。
System.Object
System.CodeDom.CodeObject
System.CodeDom.CodeStatement
System.CodeDom.CodeRemoveEventStatement
<Serializable>
<ClassInterface(ClassInterfaceType.AutoDispatch)>
<ComVisible(True)>
Public Class CodeRemoveEventStatement Inherits CodeStatement
[C#]
[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeRemoveEventStatement : CodeStatement
[C++]
[Serializable]
[ClassInterface(ClassInterfaceType::AutoDispatch)]
[ComVisible(true)]
public __gc class CodeRemoveEventStatement : public CodeStatement
[JScript]
public
Serializable
ClassInterface(ClassInterfaceType.AutoDispatch)
ComVisible(true)
class CodeRemoveEventStatement extends CodeStatement
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
CodeRemoveEventStatement を使用して、イベントのイベント ハンドラを削除するステートメントを表すことができます。
Event プロパティは、イベント ハンドラが削除されるイベントを指定します。 Listener プロパティは、削除するイベント ハンドラを指定します。
使用例
[Visual Basic, C#, C++] CodeRemoveEventStatement を使用して、イベントからデリゲートを削除する例を次に示します。
' Creates a delegate of type System.EventHandler pointing to a method named OnMouseEnter.
Dim mouseEnterDelegate As New CodeDelegateCreateExpression(New CodeTypeReference("System.EventHandler"), New CodeThisReferenceExpression(), "OnMouseEnter")
' Creates a remove event statement that removes the delegate from the TestEvent event.
Dim removeEvent1 As New CodeRemoveEventStatement(New CodeThisReferenceExpression(), "TestEvent", mouseEnterDelegate)
' A Visual Basic code generator produces the following source code for the preceeding example code:
' RemoveHandler TestEvent, AddressOf Me.OnMouseEnter
[C#]
// Creates a delegate of type System.EventHandler pointing to a method named OnMouseEnter.
CodeDelegateCreateExpression mouseEnterDelegate = new CodeDelegateCreateExpression( new CodeTypeReference("System.EventHandler"), new CodeThisReferenceExpression(), "OnMouseEnter" );
// Creates a remove event statement that removes the delegate from the TestEvent event.
CodeRemoveEventStatement removeEvent1 = new CodeRemoveEventStatement( new CodeThisReferenceExpression(), "TestEvent", mouseEnterDelegate );
// A C# code generator produces the following source code for the preceeding example code:
// this.TestEvent -= new System.EventHandler(this.OnMouseEnter);
[C++]
// Creates a delegate of type System.EventHandler pointing to a method named OnMouseEnter.
CodeDelegateCreateExpression* mouseEnterDelegate = new CodeDelegateCreateExpression( new CodeTypeReference(S"System.EventHandler"), new CodeThisReferenceExpression(), S"OnMouseEnter" );
// Creates a remove event statement that removes the delegate from the TestEvent event.
CodeRemoveEventStatement* removeEvent1 = new CodeRemoveEventStatement( new CodeThisReferenceExpression(), S"TestEvent", mouseEnterDelegate );
// A C# code generator produces the following source code for the preceeding example code:
// this.TestEvent -= new System.EventHandler(this.OnMouseEnter);
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.CodeDom
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System (System.dll 内)