次の方法で共有


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