Event.Partition < T','Del > Função (F#)
Retorna um novo evento que ouve o evento original e dispara o evento resultante primeiro se o aplicativo do predicado para os argumentos do evento retornado truee o segundo evento se retornou false.
Caminho do namespace/módulo: 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 para acionar de saída.
sourceEvent
Tipo: IEvent<'Del,'T>O evento de entrada.
Valor de retorno
Uma tupla de eventos. A primeira é acionada quando o predicado é avaliada como true e o segundo quando o predicado é avaliada como false.
Comentários
Esta função é chamada de Partition em módulos (assemblies) compilados. Se você estiver acessando a função de um idioma diferente, por exemplo, F# ou através de reflexão, use esse nome.
Exemplo
O código a seguir mostra como usar o Event.partition função para dividir um evento em dois eventos, cada um com seu próprio evento tratamento código.
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 7, SP2 do Windows Vista, Windows XP SP3, Windows XP Professional x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2
Informações sobre versão
O tempo de execução F#
Compatível com: 2.0, 4.0
Silverlight
Compatível com: 3
Consulte também
Referência
Microsoft.FSharp.Control Namespace (F#)
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Setembro de 2010 |
Exemplo de código adicionado. |
Aprimoramento de informações. |