(0) exportieren Drucken
Alle erweitern

CodeTypeDelegate-Klasse

Stellt eine Delegatdeklaration dar.

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

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class CodeTypeDelegate : CodeTypeDeclaration
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class CodeTypeDelegate extends CodeTypeDeclaration
SerializableAttribute 
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class CodeTypeDelegate extends CodeTypeDeclaration

Mit CodeTypeDelegate kann ein Delegattyp oder ein Ereignishandler deklariert werden. Ein Delegat definiert eine Methodensignatur, die von Rückrufmethoden und Ereignishandlern verwendet werden kann. Delegaten können auf der Namespaceebene deklariert oder in anderen Typen geschachtelt werden. Delegaten können nicht in anderen Delegaten geschachtelt werden.

Die ReturnType-Eigenschaft gibt den Datentyp des vom Delegaten zurückgegebenen Ereignishandlers an. Die Parameters-Eigenschaft enthält die Parameter für den Delegattyp.

CodeTypeDelegate darf nicht zum Deklarieren von Enumerationen, Schnittstellen oder Typen verwendet werden. Verwenden Sie dafür stattdessen CodeTypeDeclaration.

HinweisHinweis

Nicht alle Sprachen unterstützen das Deklarieren von Delegaten. Rufen Sie die Supports-Methode mit dem DeclareDelegates-Flag auf, um zu bestimmen, ob eine bestimmten Sprache dafür Unterstützung gewährt.

Mit dem folgenden Beispielcode wird veranschaulicht, wie mit einem CodeTypeDelegate ein neuer Delegattyp deklariert wird.

// Declares a delegate type called TestDelegate with an EventArgs parameter.
CodeTypeDelegate delegate1 = new CodeTypeDelegate("TestDelegate");            
delegate1.Parameters.Add( new CodeParameterDeclarationExpression("System.Object", "sender") );
delegate1.Parameters.Add( new CodeParameterDeclarationExpression("System.EventArgs", "e") );        

// A C# code generator produces the following source code for the preceeding example code:

//     public delegate void TestDelegate(object sender, System.EventArgs e);

// Declares a delegate type called TestDelegate with an 
// EventArgs parameter.
CodeTypeDelegate delegate1 = new CodeTypeDelegate("TestDelegate");
delegate1.get_Parameters().Add(new CodeParameterDeclarationExpression(
    "System.Object", "sender"));
delegate1.get_Parameters().Add(new CodeParameterDeclarationExpression(
    "System.EventArgs", "e"));
// A VJ# code generator produces the following source code for the 
// preceeding example code:
//  public delegate void TestDelegate(object sender, System.EventArgs e);

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

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.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen:
© 2014 Microsoft