Event.partition<'T,'Del>, fonction (F#)
Retourne un nouvel événement qui écoute l'événement d'origine et déclenche le premier événement qui en résulte si l'application du prédicat aux arguments d'événement a retourné la valeur true, et le deuxième événement si elle a retourné la valeur false.
Espace de noms/Chemin du module : 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
Paramètres
predicate
Type : 'T ->boolFonction permettant de déterminer l'événement de sortie à déclencher.
sourceEvent
Type : IEvent<'Del,'T>Événement d'entrée.
Valeur de retour
Tuple d'événements.Le premier est déclenché lorsque le prédicat prend la valeur true et le second lorsque le prédicat prend la valeur false.
Notes
Cette fonction se nomme Partition dans les assemblys compilés.Si vous accédez à la fonction à partir d'un langage autre que F# ou par réflexion, utilisez ce nom.
Exemple
Le code suivant montre comment utiliser la fonction Event.partition pour diviser un événement en deux événements, chacun avec son propre code de gestion des événements.
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))
Plateformes
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Informations de version
Versions de bibliothèque principale F#
Prise en charge dans : 2,0, 4,0, portables