CodeTypeDelegate クラス
デリゲート宣言を表します。
この型のすべてのメンバの一覧については、CodeTypeDelegate メンバ を参照してください。
System.Object
System.CodeDom.CodeObject
System.CodeDom.CodeTypeMember
System.CodeDom.CodeTypeDeclaration
System.CodeDom.CodeTypeDelegate
<Serializable>
<ClassInterface(ClassInterfaceType.AutoDispatch)>
<ComVisible(True)>
Public Class CodeTypeDelegate Inherits CodeTypeDeclaration
[C#]
[Serializable]
[ClassInterface(ClassInterfaceType.AutoDispatch)]
[ComVisible(true)]
public class CodeTypeDelegate : CodeTypeDeclaration
[C++]
[Serializable]
[ClassInterface(ClassInterfaceType::AutoDispatch)]
[ComVisible(true)]
public __gc class CodeTypeDelegate : public CodeTypeDeclaration
[JScript]
public
Serializable
ClassInterface(ClassInterfaceType.AutoDispatch)
ComVisible(true)
class CodeTypeDelegate extends CodeTypeDeclaration
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
CodeTypeDelegate を使用して、デリゲート型またはイベント ハンドラを宣言できます。デリゲートは、コールバック メソッドまたはイベント ハンドラで使用できるメソッド シグネチャを定義します。デリゲートは、名前空間のレベルで宣言するか、または、他の型内で入れ子にすることができます。デリゲートを他のデリゲート内で入れ子にすることはできません。
ReturnType プロパティは、デリゲートによって返されるイベント ハンドラのデータ型を指定します。 Parameters プロパティは、デリゲート型のパラメータを格納します。
CodeTypeDelegate は、列挙体、インターフェイス、および型宣言には使用しないでください。列挙体、インターフェイス、および型宣言には、その代わりに CodeTypeDeclaration を使用してください。
メモ デリゲートの宣言は、すべての言語でサポートされているわけではありません。特定の言語でデリゲートの宣言がサポートされているかどうかを調べるには、 DeclareDelegates フラグを指定して Supports メソッドを呼び出します。
使用例
[Visual Basic, C#, C++] CodeTypeDelegate を使用して、新しいデリゲート型を宣言する方法については、次のコード例を参照してください。
' 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
[C#]
// 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);
[C++]
// Declares a delegate type called TestDelegate with an EventArgs parameter.
CodeTypeDelegate* delegate1 = new CodeTypeDelegate(S"TestDelegate");
delegate1->Parameters->Add( new CodeParameterDeclarationExpression(S"System.Object", S"sender") );
delegate1->Parameters->Add( new CodeParameterDeclarationExpression(S"System.EventArgs", S"e") );
// A C# code generator produces the following source code for the preceeding example code:
// public delegate void TestDelegate(object sender, System.EventArgs e);
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.CodeDom
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System (System.dll 内)