CodeTypeDelegate-Klasse
Stellt eine Delegatdeklaration dar.
Namespace: System.CodeDom
Assembly: System (in system.dll)
Syntax
'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class CodeTypeDelegate
Inherits CodeTypeDeclaration
'Usage
Dim instance As CodeTypeDelegate
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class CodeTypeDelegate : CodeTypeDeclaration
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class CodeTypeDelegate : public 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
Hinweise
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.
Hinweis
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.
Beispiel
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.
Dim delegate1 As New CodeTypeDelegate("TestDelegate")
delegate1.Parameters.Add(New CodeParameterDeclarationExpression("System.Object", "sender"))
delegate1.Parameters.Add(New CodeParameterDeclarationExpression("System.EventArgs", "e"))
' A Visual Basic code generator produces the following source code for the preceeding example code:
' Public Delegate Sub TestDelegate(ByVal sender As Object, ByVal e As System.EventArgs)
' End Class
// 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 = gcnew CodeTypeDelegate( "TestDelegate" );
delegate1->Parameters->Add( gcnew CodeParameterDeclarationExpression( "System.Object","sender" ) );
delegate1->Parameters->Add( gcnew 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);
Vererbungshierarchie
System.Object
System.CodeDom.CodeObject
System.CodeDom.CodeTypeMember
System.CodeDom.CodeTypeDeclaration
System.CodeDom.CodeTypeDelegate
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