CodeDelegateInvokeExpression クラス
イベントを発生する式を表します。
名前空間: System.CodeDom
アセンブリ: System (system.dll 内)
構文
'宣言
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class CodeDelegateInvokeExpression
Inherits CodeExpression
'使用
Dim instance As CodeDelegateInvokeExpression
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class CodeDelegateInvokeExpression : CodeExpression
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class CodeDelegateInvokeExpression : public CodeExpression
/** @attribute SerializableAttribute() */
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
public class CodeDelegateInvokeExpression extends CodeExpression
SerializableAttribute
ComVisibleAttribute(true)
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)
public class CodeDelegateInvokeExpression extends CodeExpression
解説
CodeDelegateInvokeExpression を使用して、イベントを呼び出すコードを表すことができます。イベントを呼び出すと、そのイベントに登録されているすべてのデリゲートが、指定されたパラメータを使用して呼び出されます。
TargetObject プロパティは、呼び出されるイベントを指定します。Parameters プロパティは、イベントに対してデリゲートに渡すパラメータを指定します。
使用例
CodeDelegateInvokeExpression を使用して、TestEvent という名前のイベントを起動する例を次に示します。
' Invokes the delegates for an event named TestEvent, passing a local object reference and a new System.EventArgs.
Dim invoke1 As New CodeDelegateInvokeExpression( _
New CodeEventReferenceExpression(New CodeThisReferenceExpression(), "TestEvent"), _
New CodeExpression() {New CodeThisReferenceExpression(), New CodeObjectCreateExpression("System.EventArgs")})
' A Visual Basic code generator produces the following source code for the preceeding example code:
' RaiseEvent TestEvent(Me, New System.EventArgs())
// Invokes the delegates for an event named TestEvent, passing a local object reference and a new System.EventArgs.
CodeDelegateInvokeExpression invoke1 = new CodeDelegateInvokeExpression( new CodeEventReferenceExpression(new CodeThisReferenceExpression(), "TestEvent"),
new CodeExpression[] { new CodeThisReferenceExpression(), new CodeObjectCreateExpression("System.EventArgs") } );
// A C# code generator produces the following source code for the preceeding example code:
// this.TestEvent(this, new System.EventArgs());
// Invokes the delegates for an event named TestEvent, passing a local object reference and a new System.EventArgs.
array<CodeExpression^>^temp1 = {gcnew CodeThisReferenceExpression,gcnew CodeObjectCreateExpression( "System.EventArgs", nullptr )};
CodeDelegateInvokeExpression^ invoke1 = gcnew CodeDelegateInvokeExpression( gcnew CodeEventReferenceExpression( gcnew CodeThisReferenceExpression,"TestEvent" ),temp1 );
// A C# code generator produces the following source code for the preceeding example code:
// this.TestEvent(this, new System.EventArgs());
// Invokes the delegates for an event named TestEvent, passing
// a local object reference and a new System.EventArgs.
CodeDelegateInvokeExpression invoke1 = new
CodeDelegateInvokeExpression(new
CodeEventReferenceExpression(new CodeThisReferenceExpression(),
"TestEvent"), new CodeExpression[] { new
CodeThisReferenceExpression(), new CodeObjectCreateExpression((
"System.EventArgs"), new CodeExpression[] {}) });
// A VJ# code generator produces the following source code for
// the preceeding example code:
// this.TestEvent(this, new System.EventArgs());
継承階層
System.Object
System.CodeDom.CodeObject
System.CodeDom.CodeExpression
System.CodeDom.CodeDelegateInvokeExpression
スレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
CodeDelegateInvokeExpression メンバ
System.CodeDom 名前空間
CodeExpression