IFileContent - интерфейс |
Пространство имён: Tessa.Files
public interface IFileContent : INotifyPropertyChanged, IAsyncDisposable, IAsyncInitializable, ISealable
Тип IFileContent предоставляет следующие члены.
Имя | Описание | |
---|---|---|
![]() | Cancellation |
Объект, который может использоваться для отмены асинхронных операций с содержимым файла, если оно поддерживает отмену.
На текущий момент это доступно для загрузки содержимого версии файла.
|
![]() | HasData |
Возвращает признак того, что контент файла был установлен методом [IFileContent.Set].
|
![]() | IsBoundToFileSource |
Признак того, что контент был создан источником файлов, а не передан снаружи, поэтому для оптимизации обращения к содержимому
можно использовать источник файлов. Обычно актуально для Remote-контента.
|
![]() | IsDirty |
Признак того, что контент мог быть изменён. Следует установить значение равным true
перед открытием контента на редактирование во внешней программе.
Определить точно, был ли изменён контент, можно, вызвав метод [IFileContent.IsModified].
|
![]() | IsDisposed | Признак того, что контент был освобождён и объект нельзя использовать. |
![]() | IsLocal |
Признак того, что контент является локальным, т.е. к нему можно получить локальный путь
посредством метода [IFileContent.GetLocalFilePath].
|
![]() | IsSealed | Признак того, что объект был защищён от изменений. (Унаследован от ISealable.) |
![]() | Parent |
Родительский контент или null, если родительский контент отсутствует.
Если производится запрос текущего контента, и он не был установлен,
то он сначала локально копируется из родительского, если тот существует,
а затем считывается локально.
|
![]() | RequestInfo |
Дополнительная пользовательская информация, передаваемая в запросы к серверу,
которые относятся к загрузке содержимого файла или версии, которые сохраняются в текущем объекте.
Рекомендуется, чтобы все данные были сериализуемых типов (в соответствии с типовой BSON-сериализацией в системе).
Такие данные могут перезаписать данные из [IFileObject.RequestInfo].
|
![]() | Size |
Размер контента файла в байтах или 0, если контент ещё не был загружен.
Проверить, был ли загружен контент, можно, обратившись к свойству [IFileContent.HasData].
|
![]() | Uri |
Ссылка к контенту файла, который может быть доступен как локально (на диске),
так и удалённо (сетевой ресурс). Значение может быть равно null, если контент недоступен по ссылке.
|
Имя | Описание | |
---|---|---|
![]() | DisposeAsync | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously. (Унаследован от IAsyncDisposable.) |
![]() | EnsureLocalUpdatedAsync |
Удостоверяет, что файл будет загружен локально и доступен по пути [IFileContent.GetLocalFilePath],
если файл является локальным [IFileContent.IsLocal]. Если файл не локальный, то метод не выполняет действий.
|
![]() | EnterLockAsync |
Выполняет вход в блок, в пределах которого нет других обращений к контенту файла.
Вызовите метод в блоке using(await content.EnterLockAsync().ConfigureAwait(false)).
|
![]() | GetAsync |
Открывает и возвращает поток с контентом файла.
Если контент файла отсутствует, то вызывает исключение [System.InvalidOperationException].
Поэтому перед получением контента можно обратиться к свойству [IFileContent.HasData].
|
![]() | GetLocalFilePath |
Возвращает локальный путь к контенту файла, если контент доступен локально.
Если контент не доступен локально, то вызывает исключение [System.InvalidOperationException].
Поэтому перед вызовом метода можно обратиться к свойству [IFileContent.IsLocal].
|
![]() | InitializeAsync | Выполняет асинхронную инициализацию объекта. (Унаследован от IAsyncInitializable.) |
![]() | InvalidateAsync |
Удаляет локально загруженный контент, переводя его в начальное состояние.
Следующий раз при получении контента он будет заново загружен.
|
![]() | IsModifiedAsync |
Возвращает признак того, что контент файла на диске был изменён с момента его
установки методом [IFileContent.Set].
Для защищённых от изменений объектов метод всегда возвращает false.
|
![]() | RenameAsync |
Переименовывает файл, в который записывается контент.
Если файл ещё не существует, то он будет назван по-другому в момент создания.
Метод гарантированно сработает только в том случае, если контент является локальным,
т.е. свойство [IFileContent.IsLocal] возвращает true.
|
![]() | Seal | Защищает объект от изменений. (Унаследован от ISealable.) |
![]() | SetAsync | Открывает и возвращает поток, выполняющий перезапись контента файла. |
![]() | SetLocalAsync | Устанавливает контент локального файла по заданному пути. |
![]() | SetRemoteAsync |
Устанавливает содержимое файла, представленное заданными методами. Если контент запрещено изменять, то может быть выброшено исключение.
Метод доступен как для локальных файлов, так и для нелокальных (remote), в т.ч. для файлов большого размера.
|
![]() | UpdateSizeAsync |
Обновляет свойство с размером контента [IFileContent.Size] для загруженных файлов.
|
Имя | Описание | |
---|---|---|
![]() | PropertyChanged | Occurs when a property value changes. (Унаследован от INotifyPropertyChanged.) |
Имя | Описание | |
---|---|---|
![]() | ResolveRoot |
Возвращает корневой объект содержимого по свойствам Parent.
Возвращает текущий объект content, если у него отсутствует родитель Parent.
(Определяется FileExtensions.) |
![]() | SetRemoteFromPathAsync |
Устанавливает содержимое IFileContent по физическому файлу, расположенному по заданному пути.
Метод доступен и для локального, и для нелокального (remote) содержимого.
(Определяется FileExtensions.) |