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.) |