* При перепечатке материалов ссылка на 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

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

Создание и настройка объекта DataAdapter
Отображение сообщений об ошибках
Тестирование элемента управления
Редактор типов файлов
Разрешения
Установка порядка передачи фокуса при нажатии клавиши Tab
Создание компонента DoughnutMachine
Достоинства сертификации Microsoft
Применение классов Debug и Trace
Замещение членов базового класса в Visual Basic .NET
Получение доступа к членам базового класса
Классы и структуры
Cabinet File (*.CAB) Compression and Extraction – версия 9.9
Boost – версия 1.36.0
Форматирование, зависимое от культуры
| .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


     



Данный сайт или домен продается

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