Поделиться через


Модуль Control.Event (F#)

Предоставляет функции для управления потоками событий.

Пространство имен/путь к модулю: Microsoft.FSharp.Control

Сборка: FSharp.Core (в FSharp.Core.dll)

module Event

Значения

Значение

Описание

add : ('T -> unit) -> Event<'Del,'T> -> unit

Запускает заданную функцию всякий раз при активации заданного события.

choose : ('T -> 'U option) -> IEvent<'Del,'T> -> IEvent<'U>

Возвращает новое событие, которое инициируется при выборе сообщений из первоначального события. Функция выбора переводит первоначальное сообщение в дополнительное новое сообщение.

filter : ('T -> bool) -> IEvent<'Del,'T> -> IEvent<'T>

Возвращает новое событие, ожидающее первоначальное событие и вызывающее результирующее событие, только когда аргумент события передает указанную функцию.

MAP : ('T -> 'U) -> IEvent<'Del, 'T> -> IEvent<'U>

Возвращает новое событие, которое передает значения, преобразованные заданной функцией.

слияние : IEvent<'Del1,'T> -> IEvent<'Del2,'T> -> IEvent<'T>

Вызывает выходное событие, если инициировано какое-либо из входных событий.

pairwise : IEvent<'Del,'T> -> IEvent<'T * 'T>

Возвращает новое событие, которое активирует вторую и последующие активации входного события. Для N-ной активации входного события передаются аргументы от активаций N-1 и N в виде пары. Аргумент, переданный активации N-1, содержится в скрытом внутреннем состоянии до N-ной активации.

раздел : ('T -> bool) -> IEvent<'Del,'T> -> IEvent<'T> * IEvent<'T>

Возвращает новое событие, ожидающее первоначальное событие и вызывающее первое результирующее событие, если применение предиката к аргументам события возвращает значение true, и второе событие, если возвращается значение false.

scan : ('U -> 'T -> 'U) -> 'U -> IEvent<'Del,'T> -> IEvent<'U>

Возвращает новое событие, состоящее из результатов применения заданной функции накопления к последовательным значениям, вызванным входным событием. Элемент внутреннего состояния записывает текущее значение параметра состояния. При выполнении функции накопления внутреннее состояние не подвергается блокировке, поэтому необходимо сделать так, чтобы входное событие IEvent не вызывалось несколькими потоками одновременно.

split : ('T -> Choice<'U1,'U2>) -> IEvent<'Del,'T> -> IEvent<'U1> * IEvent<'U2>

Возвращает новое событие, ожидающее первоначальное событие и вызывающее первое результирующее событие, если применение функции к аргументам события возвращает значение Choice1Of2, и второе событие, если возвращается значение Choice2Of2.

Платформы

Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)

Сведения о версии

Среда выполнения F#

Поддерживается в версиях 2.0, 4.0

Silverlight

Поддерживается в версии 3

См. также

Ссылки

Пространство имен Microsoft.FSharp.Control (F#)

Класс Control.Event<'T> (F#)

Интерфейс Control.IEvent<'Delegate,'Args> (F#)

Другие ресурсы

События (F#)