IAsyncInfo Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Поддерживает асинхронные действия и операции. IAsyncInfo — это базовый интерфейс для IAsyncAction, IAsyncActionWithProgress TProgress<>, IAsyncOperation<TResult> и IAsyncOperationWithProgress<TResult,TProgress>, каждый из которых поддерживает сочетания типа возвращаемого значения и хода выполнения для асинхронного метода.
public interface class IAsyncInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(54, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70)]
struct IAsyncInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(54, 0, 0, 192, 0, 0, 0, 0, 0, 0, 70)]
public interface IAsyncInfo
Public Interface IAsyncInfo
- Производный
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.FoundationContract (появилось в v1.0)
|
Комментарии
IAsyncInfo — это наследуемый интерфейс для каждого из 4 интерфейсов среда выполнения Windows, используемых для поддержки асинхронных методов. Эти особые значения приведены ниже.
- IAsyncAction
- IAsyncActionWithProgress<TProgress>
- IAsyncOperation<TResult>
- IAsyncOperationWithProgress<TResult,TProgress>
При использовании асинхронных методов в коде приложения вы обычно не видите ни один из этих интерфейсов в качестве возвращаемого значения. Это связано с тем, что вы почти всегда используете синтаксис ожидания для конкретного языка, который обрабатывает интерфейсы внутренне. Дополнительные сведения см. в статье Асинхронное программирование или одно из руководств по среда выполнения Windows асинхронного программирования (вызов асинхронных API в C# или Visual Basic, C++, JavaScript).
Для большинства кодов приложений IAsyncInfo редко используется в качестве API, даже если вы не используете ожидающий синтаксис. Каждый из языков имеет точки расширения, которые, как правило, проще использовать, чем интерфейс Среды выполнения WindowsIAsyncInfo. JavaScript имеет синтаксис then/done . В .NET есть метод расширения AsTask , и после преобразования IAsyncAction в задачу будет проще отменить, получить уведомления о завершении и т. д. Для C++/CX вызовы можно упаковать с помощью среды выполнения с параллелизмом. Иными словами, IAsyncInfo — это инфраструктура уровня среды выполнения, которую каждый язык использует в качестве платформы для поддержки ожидающего синтаксиса по-своему.
Если вы реализуете настраиваемое действие или пользовательскую операцию (расширенный сценарий), не реализуйте IAsyncAction напрямую. Реализуйте один из 4 перечисленных ранее интерфейсов.
Свойства
ErrorCode |
Возвращает строку, описывающую условие ошибки асинхронной операции. |
Id |
Возвращает дескриптор асинхронной операции. |
Status |
Возвращает значение, указывающее состояние асинхронной операции. |
Методы
Cancel() |
Отменяет асинхронную операцию. |
Close() |
Закрывает асинхронную операцию. |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по