* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Делегаты
8 февраля 2009

Делегаты — это особые классы, обеспечивающие работу событий. В сущности, де-
легат — это указатель на функцию, обеспечивающий контроль типов. Он позволяет
передавать ссылку на точку входа метода и исполнять этот метод без традиционно-
го явного вызова. При объявлении делегата указывают сигнатуру вызываемого им
метода и тип возвращаемого результата:
Visual Basic .NET
Public Delegate Function myDelegate(ByVal D As Double) As Integer
Visual C#
public delegate int myDelegate(dojble D):
В этом примере объявляется делегат ту Delegate, вызывающий методы, которые
возвращают результат типа Integer (int) и принимают в качестве параметра значение
типа Double (double). Чтобы воспользоваться делегатом, необходимо создать его эк-
земпляр с указанием метода, который он будет вызывать. В Visual C# этот метод
задают по имени, а в Visual Basic .NET применяют оператор AddressOf, который со
здает ссылку на адрес метода. Вот соответствующие примеры:
Visual Basic .NET
Это метод, который будет вызывать делегат.
Public Function ReturnInt(ByVal d As Double) As Integer
Реализация метода опущена,
End Function
Создать экземпляр делегата myDelegate,
который будет вызывать метод Returnlnt.
Dim aDelegate As New rnyDelegate(addressof Returnlnt)
Visual C#
// Это метод, который будет вызывать делегат.
public int Returnlnt(double D)
// Создать экземпляр делегата myDelegate,
// который будет вызывать метод Returnlnt.
public void amethodO
{
nyDelegate aDelegate = new myDelegate(Returnlnt):
.
При создании делегата для метода экземпляра в Visual C# необходимо инициа-
лизировать делегат внутри этого метода. Делегаты статических методов можно ини-
циализировать вне метода, который они вызывают.
После объявления и инициализации делегат можно вызывать, как обычную фун-
кцию, чтобы исполнить связанный с ним метод, например:
Visual Basic .NET
aDelegate(12345)
Visual C#
aDelegate(12345);
^ Как создать и вызвать делегат
I . Объявите делегат с сигнатурой, идентичной сигнатуре метода (или методов), для
вызова которого он будет использоваться.
2. Создайте экземпляр делегата, ссылающийся на метод с подходящей сигна гурой.
3. Вызывайте делегат в коде, ссылаясь на него по имени.

Теги: .NET

Статьи по теме:

Делегаты CTS
Принципы создания элементов управления
Преобразование кодировки символов
Редактор типов файлов
Работа в редакторе кода
Декларативная защита, основанная на ролях
Лямбда-выражения
Общие (статические) члены
Применение типов .NET Framework в приложениях
Объекты и члены
Ссылки на внешние библиотеки
Примеси (mixin)
Сборки
Достоинства сертификации Microsoft
Общеязыковая исполняющая среда
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Делегаты. Регион сайта: Москва и Санкт-Петербург