CodeDelegateCreateExpression Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет создающее делегат выражение.
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 часто используется с CodeAttachEventStatement или CodeRemoveEventStatement для представления обработчика событий для присоединения или удаления из события.
Свойство 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) |