Funzione Event.partition<'T,'Del> (F#)
Restituisce un nuovo evento che ascolta l'evento originale e attiva il prima evento risultante se l'applicazione del predicato agli argomenti dell'evento ha restituito true e il secondo evento se ha restituito false.
Percorso spazio dei nomi/modulo: Microsoft.FSharp.Control.Event
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
Event.partition : ('T -> bool) -> IEvent<'Del,'T> -> IEvent<'T> * IEvent<'T> (requires delegate)
// Usage:
Event.partition predicate sourceEvent
Parametri
predicate
Tipo: 'T -> boolFunzione per determinare quale evento di output attivare.
sourceEvent
Tipo: IEvent<'Del,'T>Evento di input.
Valore restituito
Tupla di eventi. Il primo elemento viene attivato se il predicato restituisce true, il secondo se restituisce false.
Note
Questa funzione è denominata Partition negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.
Esempio
Nel codice riportato di seguito viene illustrato come utilizzare la funzione Event.partition per dividere un evento in due eventi, ognuno con il proprio codice per la gestione degli eventi.
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))
Piattaforme
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.
Informazioni sulla versione
F# Runtime
Supportato in: 2.0, 4.0
Silverlight
Supportato in: 3
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.FSharp.Control (F#)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Settembre 2010 |
Aggiunto esempio di codice. |
Miglioramento delle informazioni. |