Методы 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.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Асинхронные методы

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

Асинхронные методы Вызовы методов в СОМ являются по умолчанию синхронными. Это означает, что клиентский поток заблокирован до тех пор, пока ответное ORPC-сообщение не получено и не демаршалировано. Такая схема в полной мере демонстрирует, как работает обычный вызов метода


Методы оптимизации

Из книги Генерация высококачественного кода для программ, написанных на СИ автора Хислей Филипп Н

Методы оптимизации Существуют различные методы машинно-зависимой и машинно-независимой оптимизации кода. Они могут применяться на всех синтаксических уровнях. Одним из простейших методов является "размножение констант". При его применении любая ссылка на константное


1. Методы

Из книги Информатика и информационные технологии: конспект лекций автора Цветкова А В

1. Методы Описание метода внутри объектного типа соответствует опережающему описанию метода (forward). Таким образом, где-нибудь после описания объектного типа, но внутри той же самой области действия, что и область действия описания объектного типа, метод должен


29. Методы

Из книги Информатика и информационные технологии автора Цветкова А В

29. Методы Описание метода внутри объектного типа соответствует опережающему описанию метода (forward). Таким образом, где-нибудь после описания объектного типа, но внутри той же самой области действия, что и область действия описания объектного типа, метод должен


Методы итератора в C#

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю


Анонимные методы в C#

Из книги Интернет решения от доктора Боба автора Сворт Боб

Анонимные методы в C# В завершение этой главы мы рассмотрим некоторые связанные с делегатами и событиями возможности .NET 2.0 через призму возможностей C#. Для начала обратим внимание на то, что в случае, когда вызывающей стороне требуется осуществлять прием поступающих


1.1.7. Методы

Из книги Справочник по JavaScript автора Коллектив авторов

1.1.7. Методы Компонент TUUCode имеет три метода; один public конструктор, один protected метод и один public метод:Конструктор Create используется для создания компонента и инициализации свойств ао умолчанию (default) для Active, FileMode, Headers и About.Метод Activate используется для вызова метода UUCode во


Методы

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

Методы clear()Этот метод предназначен для очистки текущего документа из окна браузера.close()Заставляет Web-страницу немедленно обновить свое содержимое после использования методов write. Метод не принимает параметров и не возвращает значения.createAttribute()createAttribute( "Имя Атрибута"


Методы

Из книги автора

Методы alert()alert({Текст})Выводит на экран окно предупреждения с текстом, переданным в качестве параметра.back()Возвращается к предыдущему документу, как если бы на панели инструментов нажали кнопку Назад.Поддерживается только NN начиная с 4.0blur()Удаляет фокус с


Методы

Из книги автора

Методы loadload({Адрес файла нового документа}, {Новая ширина слоя в пикселах})Позволяет заменить содержимое слоя. В качестве первого параметра принимается интернет-адрес документа, который будет отображен в текущем слое. В качестве второго параметра указывается новая


Методы

Из книги автора

Методы Методы представляют собой процедуры и функции, объявленные внутри класса или записи. Особыми разновидностями методов являются конструкторы, деструкторы и перегруженные операции.Определение методов можно давать как внутри класса (стиль Java, C#, C++), так и вне класса


Методы Print

Из книги автора

Методы Print Описание методовМетоды приведены для последовательности sequence of T. function Print(delim: string := ): sequence of T; Выводит последовательность на экран, используя delim в качестве разделителя. function Println(delim: string := ): sequence of T; Выводит последовательность на экран, используя delim в


Методы Any, All

Из книги автора

Методы Any, All Описание методовМетоды приведены для последовательности sequence of T. function Any(): boolean; Проверяет, содержит ли последовательность какие-либо элементы. function Any(predicate: T->boolean): boolean; Проверяет, удовлетворяет ли какой-либо элемент последовательности заданному


Методы Count

Из книги автора

Методы Count Описание методовМетоды приведены для последовательности sequence of T. function Count(): integer; Возвращает количество элементов в последовательности. function Count(predicate: T->boolean): integer; Возвращает число, представляющее количество элементов последовательности,


Методы Sum, Average

Из книги автора

Методы Sum, Average Описание методовМетоды приведены для последовательности sequence of T. function Sum(): число; Вычисляет сумму последовательности значений числового типа. function Sum(selector: T->число): число; Вычисляет сумму последовательности значений числового типа, получаемой в


Методы Min, Max

Из книги автора

Методы Min, Max Описание методовМетоды приведены для последовательности sequence of T. function Min(): число; Вычисляет минимальный элемент последовательности значений числового типа. function Min(selector: T->число): число; Вызывает функцию преобразования для каждого элемента