IFileContent - интерфейс

Контент файла.

Definition

Пространство имён: Tessa.Files
Сборка: Tessa (в Tessa.dll) Версия: 3.6.0.22
C#
public interface IFileContent : INotifyPropertyChanged, 
	IAsyncDisposable, IAsyncInitializable, ISealable
Implements
INotifyPropertyChanged, IAsyncDisposable, IAsyncInitializable, ISealable

Свойства

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, если контент недоступен по ссылке.

Методы

DisposeAsyncPerforms 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] для загруженных файлов.

События

PropertyChangedOccurs when a property value changes.
(Унаследован от INotifyPropertyChanged)

Методы расширения

ResolveRoot Возвращает корневой объект содержимого по свойствам Parent. Возвращает текущий объект content, если у него отсутствует родитель Parent.
(Определяется FileExtensions)
SetRemoteFromPathAsync Устанавливает содержимое IFileContent по физическому файлу, расположенному по заданному пути. Метод доступен и для локального, и для нелокального (remote) содержимого.
(Определяется FileExtensions)

См. также