Async.AsBeginEnd < "Arg, t > Metoda (F#)
Vytvoří tři funkce, které lze použít k implementaci rozhraní.NET Framework asynchronní programovací Model (APM) pro zadaný asynchronní výpočtu.
Cesta k oboru názvů nebo modul: Microsoft.FSharp.Control
Sestavení: FSharp.Core (v FSharp.Core.dll)
// Signature:
static member AsBeginEnd : ('Arg -> Async<'T>) -> ('Arg * AsyncCallback * obj -> IAsyncResult) * (IAsyncResult -> 'T) * (IAsyncResult -> unit)
// Usage:
Async.AsBeginEnd (computation)
Parametry
computation
Type: 'Arg ->Async<'T>Funkce, která vytváří asynchronní výpočtu rozdělit na tradiční rozhraní.NET Framework asynchronní programovacího modelu.
Vrácená hodnota
N-tice zahájit, ukončit a zrušit členů.
Poznámky
Další informace o rozhraní.NET Framework asynchronní programovací Model, viz Asynchronní Model programování (APM).
Začátek, konec a funkce Storno by normálně publikován jako členy, které jsou s předponou Begin, End, a Cancel, a který může být použit v definici typu takto.
let beginAction,endAction,cancelAction =
Async.AsBeginEnd (fun arg -> computation)
member x.BeginSomeOperation(arg, callback ,state:obj) =
beginAction(arg, callback, state)
member x.EndSomeOperation(iar) = endAction(iar)
member x.CancelSomeOperation(iar) = cancelAction(iar)
Pokud výpočet asynchronní nevyžaduje žádné argumenty AsBeginEnd se používá následujícím způsobem.
let beginAction,endAction,cancelAction =
Async.AsBeginEnd (fun () -> computation)
member x.BeginSomeOperation(callback, state:obj) =
beginAction((), callback, state)
member x.EndSomeOperation(iar) = endAction(iar)
member x.CancelSomeOperation(iar) = cancelAction(iar)
Asynchronní výpočet trvá dva argumenty AsBeginEnd se používá následujícím způsobem.
let beginAction,endAction,cancelAction =
Async.AsBeginEnd (fun arg1 arg2 -> computation)
member x.BeginSomeOperation(arg1, arg2, callback, state:obj) =
beginAction((), callback, state)
member x.EndSomeOperation(iar) = endAction(iar)
member x.CancelSomeOperation(iar) = cancelAction(iar)
V každém případě výsledné API podobá se používá v jiných jazycích rozhraní.NET Framework a je užitečné publikovat asynchronní výpočty v součásti, které jsou určeny k použití jiných jazyků rozhraní.NET Framework.
Platformy
Windows 8, Windows 7, Windows Server 2012 Windows Server 2008 R2
Informace o verzi
F# základní verze knihovny
Podporovány: 2.0, 4.0, přenosné