Event.Partition < m','Del > Função (F#)
Retorna um novo evento que escuta para o evento original e dispare o evento resultante primeiro se o aplicativo de predicado para os argumentos de evento retornado true, e o segundo evento se retornou false.
Namespace/Module Path: Microsoft.FSharp.Control.Event
Assembly: FSharp.Core (em FSharp.Core.dll)
// Signature:
Event.partition : ('T -> bool) -> IEvent<'Del,'T> -> IEvent<'T> * IEvent<'T> (requires delegate)
// Usage:
Event.partition predicate sourceEvent
Parâmetros
predicate
Tipo: 'T ->boolA função para determinar qual evento de saída disparar.
sourceEvent
Tipo: IEvent<'Del,'T>O evento de entrada.
Valor de retorno
Um tuple de eventos.O primeiro é acionado quando o predicado avalia a true e o segundo quando o predicado avalia a false.
Comentários
Essa função é chamada Partition em assemblies compilados.Se você está acessando a função de um idioma diferente F#, ou com a reflexão, use este nome.
Exemplo
O código a seguir mostra como usar a função de Event.partition para dividir um evento em dois eventos, cada um com seu próprio código de manipulação de eventos.
open System.Windows.Forms
open System.Drawing
let form = new Form(Text = "F# Windows Form",
Visible = true,
TopMost = true)
let (event1, event2) =
form.MouseMove
|> Event.partition (fun evArgs -> evArgs.X > 100)
event1 |> Event.add ( fun evArgs ->
form.BackColor <- System.Drawing.Color.FromArgb(
evArgs.X, evArgs.Y, evArgs.X ^^^ evArgs.Y))
event2 |> Event.add ( fun evArgs ->
form.BackColor <- System.Drawing.Color.FromArgb(
evArgs.Y, evArgs.X, evArgs.Y ^^^ evArgs.X))
Plataformas
O windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informações de Versão
Versões da biblioteca principal de F#
Suportado em: 2,0, 4,0, portáteis