Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Методы BeginInvoke() и EndInvoke()

Методы BeginInvoke() и EndInvoke()

Когда компилятор C# обрабатывает ключевое слово delegate, динамически генерируемый класс определяет два метода с именами BeginInvoke() и EndInvoke(). Для нашего определения делегата BinaryOp эти методы оказываются следующими.

sealed class BinaryOp : System.MulticastDelegate {
 …
 // Используется для асинхронного вызова метода.
 public IAsyncResult BeginInvoke(int x, int y, AsyncCallback cb, object state);
 // Используется для извлечения возвращаемого значения
 // вызванного метода.
 public int EndInvoke(IAsyncResult result);
}

Первый набор параметров, передаваемых в BeginInvoke(), формируется на основе формата делегата C# (в случае BinaryOp это два целочисленных значения). Последними двумя аргументами всегда являются System.AsyncCallback и System.Object. Мы рассмотрим роль этих параметров чуть позже, а пока что для каждого из них мы будем использовать null.

Оглавление книги


Генерация: 1.632. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз