FileExtensions.EnsureContentDownloadedAsync - метод

Загружает контент файла или версии файла, если он ещё не был загружен. На загруженном контенте вызывается метод EnsureLocalUpdatedAsync(CancellationToken).

Definition

Пространство имён: Tessa.Files
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static ValueTask<ValidationResult> EnsureContentDownloadedAsync(
	this IFileObject obj,
	Func<IFileObject, FileContentDownloadState>? getStateFunc = null,
	Func<FileContentDownloadState, CancellationToken, ValueTask>? setStateActionAsync = null,
	Func<IFileObject, CancellationToken, ValueTask<IFileContent>>? getContentFuncAsync = null,
	CancellationToken cancellationToken = default
)

Параметры

obj  IFileObject
Файл или версия файла, контент которых загружается.
getStateFunc  Func<IFileObject, FileContentDownloadState>  (Optional)
Возвращает поле с состоянием содержимого для файла или версии файла obj, или null, если используется стандартное свойство ContentState.
setStateActionAsync  Func<FileContentDownloadState, CancellationToken, ValueTask>  (Optional)

Метод, устанавливающий состояние загружаемого контента, или null, если состояние контента устанавливается непосредственно на свойстве ContentState.

Устанавливать параметр отличным от null значением есть смысл при асинхронной загрузке контента, когда состояние должно быть установлено в потоке UI.

getContentFuncAsync  Func<IFileObject, CancellationToken, ValueTask<IFileContent>>  (Optional)
Функция, возвращающая контент для заданного объекта, или null, если используется свойство по умолчанию Content.
cancellationToken  CancellationToken  (Optional)
Объект, посредством которого можно отменить асинхронную задачу.

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

ValueTask<ValidationResult>
Результат загрузки контента. Если контент не загружался, то возвращается Empty.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа IFileObject. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

См. также