CodeDelegateCreateExpression 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示创建委托的表达式。
public ref class CodeDelegateCreateExpression : System::CodeDom::CodeExpression
public class CodeDelegateCreateExpression : System.CodeDom.CodeExpression
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeDelegateCreateExpression : System.CodeDom.CodeExpression
type CodeDelegateCreateExpression = class
inherit CodeExpression
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeDelegateCreateExpression = class
inherit CodeExpression
Public Class CodeDelegateCreateExpression
Inherits CodeExpression
- 继承
- 属性
示例
以下示例代码使用 CodeDelegateCreateExpression 创建委托。
// Defines a delegate creation expression that creates an EventHandler delegate pointing to a method named TestMethod.
CodeDelegateCreateExpression^ createDelegate1 = gcnew CodeDelegateCreateExpression( gcnew CodeTypeReference( "System.EventHandler" ),gcnew CodeThisReferenceExpression,"TestMethod" );
// Attaches an EventHandler delegate pointing to TestMethod to the TestEvent event.
CodeAttachEventStatement^ attachStatement1 = gcnew CodeAttachEventStatement( gcnew CodeThisReferenceExpression,"TestEvent",createDelegate1 );
// A C# code generator produces the following source code for the preceeding example code:
// this.TestEvent += new System.EventHandler(this.TestMethod);
// Defines a delegate creation expression that creates an EventHandler delegate pointing to a method named TestMethod.
CodeDelegateCreateExpression createDelegate1 = new CodeDelegateCreateExpression(
new CodeTypeReference( "System.EventHandler" ), new CodeThisReferenceExpression(), "TestMethod" );
// Attaches an EventHandler delegate pointing to TestMethod to the TestEvent event.
CodeAttachEventStatement attachStatement1 = new CodeAttachEventStatement( new CodeThisReferenceExpression(), "TestEvent", createDelegate1 );
// A C# code generator produces the following source code for the preceeding example code:
// this.TestEvent += new System.EventHandler(this.TestMethod);
' Defines a delegate creation expression that creates an EventHandler delegate pointing to TestMethod.
Dim createDelegate1 As New CodeDelegateCreateExpression(New CodeTypeReference("System.EventHandler"), New CodeThisReferenceExpression(), "TestMethod")
' Attaches an EventHandler delegate pointing to TestMethod to the TestEvent event.
Dim attachStatement1 As New CodeAttachEventStatement(New CodeThisReferenceExpression(), "TestEvent", createDelegate1)
' A Visual Basic code generator produces the following source code for the preceeding example code:
' AddHandler TestEvent, AddressOf Me.TestMethod
注解
CodeDelegateCreateExpression 表示创建委托的代码。 CodeDelegateCreateExpression通常与 或 CodeRemoveEventStatement 一起使用CodeAttachEventStatement,表示要附加事件或从事件中删除的事件处理程序。
属性 DelegateType 指定要创建的委托的类型。 属性 TargetObject 指示包含事件处理程序方法的对象。 属性 MethodName 指示其方法签名与委托的方法签名匹配的事件处理程序方法的名称。
在 C# 中,委托创建表达式通常采用以下形式: new EventHandler(this.HandleEventMethod)
。 在 Visual Basic 中,委托创建表达式通常采用以下形式: AddressOf Me.HandleEventMethod
。
构造函数
CodeDelegateCreateExpression() |
初始化 CodeDelegateCreateExpression 类的新实例。 |
CodeDelegateCreateExpression(CodeTypeReference, CodeExpression, String) |
初始化 CodeDelegateCreateExpression 类的新实例。 |
属性
DelegateType |
获取或设置委托的数据类型。 |
MethodName |
获取或设置事件处理程序方法的名称。 |
TargetObject |
获取或设置包含事件处理程序方法的对象。 |
UserData |
获取当前对象的用户可定义数据。 (继承自 CodeObject) |
方法
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |