Поделиться через


Метод AsyncBuilder.Using<'T,'U> (F#)

Реализует ключевые слова use и use! в выражениях асинхронных вычислений.

Пространство имен/путь к модулю: Microsoft.FSharp.Control

Сборка: FSharp.Core (в FSharp.Core.dll)

// Signature:
member this.Using : 'T * ('T -> Async<'U>) -> Async<'U> (requires 'T :> IDisposable)

// Usage:
asyncBuilder.Using (resource, binder)

Параметры

  • resource
    Тип: 'T

    Ресурс, который нужно использовать и удалить.

  • binder
    Тип: 'T -> Async<'U>

    Функция, которая принимает ресурс и возвращает асинхронное вычисление.

Возвращаемое значение

Асинхронное вычисление, которое выполняет привязку ресурса, определенного параметром resource, и затем удаляет этот ресурс.

Заметки

Создает асинхронное вычисление, которое запускает binder(resource). После того как это вычисление выдает результат или прекращает работу из-за исключения или отмены, выполняется действие resource.Dispose().

При выполнении вычисления осуществляется проверка отмены. Наличие данного метода позволяет использовать use и use! в синтаксисе вычислительного выражения async { ... }.

Платформы

Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)

Сведения о версии

Среда выполнения F#

Поддерживается в версиях 2.0, 4.0

Silverlight

Поддерживается в версии 3

См. также

Ссылки

Класс Control.AsyncBuilder (F#)

Пространство имен Microsoft.FSharp.Control (F#)

IDisposable