Freigeben über


CodeDelegateInvokeExpression-Klasse

Stellt einen Ausdruck dar, der ein Ereignis auslöst.

Namespace: System.CodeDom
Assembly: System (in system.dll)

Syntax

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class CodeDelegateInvokeExpression
    Inherits CodeExpression
'Usage
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

Hinweise

Mit CodeDelegateInvokeExpression kann Code dargestellt werden, der ein Ereignis aufruft. Beim Aufrufen eines Ereignisses werden alle Delegaten aufgerufen, die mit dem Ereignis registriert sind, das die angegebenen Parameter verwendet.

Die TargetObject-Eigenschaft gibt das aufzurufende Ereignis an. Die Parameters-Eigenschaft gibt die Parameter an, die an die Delegaten des Ereignisses übergeben werden sollen.

Beispiel

Im folgenden Beispiel wird veranschaulicht, wie mit einer CodeDelegateInvokeExpression das Ereignis TestEvent aufgerufen wird.

' 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());

Vererbungshierarchie

System.Object
   System.CodeDom.CodeObject
     System.CodeDom.CodeExpression
      System.CodeDom.CodeDelegateInvokeExpression

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

CodeDelegateInvokeExpression-Member
System.CodeDom-Namespace
CodeExpression