StorageObject - класс

Класс, являющийся строго типизированным декоратором для хранилища IDictionary<string, object> и имеющий заранее определённый набор строго типизированных свойств.

Класс устанавливает, что значения по умолчанию этих свойств не должны содержаться в хранилище, а свойства с вложенными элементами вида IDictionary<string, object> или IEnumerable должны создаваться автоматически при первом доступе.

Definition

Пространство имён: Tessa.Platform.Storage
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public abstract class StorageObject : IStorageObjectProvider, 
	IStorageDictionaryProvider, IStorageProvider, IStorageCachePolicyProvider, ISerializable, IBinarySerializable, 
	IBsonSerializable, IJsonSerializable
Inheritance
Object    StorageObject
Derived
Подробнее
Implements
ISerializable, IBinarySerializable, IBsonSerializable, IJsonSerializable, IStorageCachePolicyProvider, IStorageDictionaryProvider, IStorageObjectProvider, IStorageProvider

Конструкторы

StorageObjectСоздаёт экземпляр класса с указанием хранилища, декоратором для которого является создаваемый объект.

Методы

CleanCollectionAndSetNullIfEmpty Очищает коллекцию, найденную по ключу key, после чего устанавливает null на место коллекции, если она стала пустой.
ClearCache Очищает внутренний кэш декораторов.
ContainsKey Возвращает признак того, что элемент с заданным ключом содержится в хранилище.
EnsureCacheResolved Инициализирует объект-обёртку для всех значений, в т.ч. для вложенных объектов. Рекомендуется выполнять при создании заполненного объекта перед асинхронным обращением к его вложенным объектам.
EqualsDetermines whether the specified object is equal to the current object.
(Унаследован от Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Унаследован от Object)
FromJsonCore Устанавливает содержимое объекта в соответствии с данными, десериализованными из текстового JSON. Возвращает текущий объект для цепочки вызовов. Рассмотрите использование метода ToTypedJson(Boolean) для сериализации с сохранением полной информации по типам, которую можно будет восстановить в методе FromTypedJson.
FromTypedJsonCore Устанавливает содержимое объекта в соответствии с данными, десериализованными из текстового JSON с сохранением типов. Используйте метод ToTypedJson(Boolean) для сериализации с сохранением типов. Для десериализации других объектов, у которых нет метода FromTypedJson (например, request/response), используйте метод DeserializeFromTypedJson(String), записав полученную структуру в объект obj.SetStorage(storage).
GetT(String) Возвращает строго типизированное значение объекта из хранилища по заданному ключу.
GetT(String, FuncObject) Возвращает строго типизированное значение объекта из хранилища по заданному ключу с указанием фабрики defaultValueFunc, создающей значение по умолчанию и добавляющей его в хранилище, если оно было равно null.
Метод выбрасывает исключение ArgumentException в случае, если фабрика defaultValueFunc вернула null.
GetDictionaryT Возвращает декоратор для коллекции пар ключ / значение, полученный из хранилища по заданному ключу или созданный посредством заданной фабрики defaultDictionaryFunc, и добавленный в хранилище, если он там отсутствует. Метод выбрасывает исключение ArgumentException в случае, если фабрика defaultDictionaryFunc вернула null.
GetHashCodeServes as the default hash function.
(Унаследован от Object)
GetListT Возвращает декоратор для коллекции объектов, полученный из хранилища по заданному ключу или созданный посредством заданной фабрики defaultListFunc, и добавленный в хранилище, если он там отсутствует. Метод выбрасывает исключение ArgumentException в случае, если фабрика defaultListFunc вернула null.
GetObjectData Записывает сериализованные данные текущего объекта в указанный объект [System.Runtime.Serialization.SerializationInfo].
GetStorage Возвращает хранилище Dictionary<string, object>, декоратором для которого является текущий объект.
GetTypeGets the Type of the current instance.
(Унаследован от Object)
Init Инициализирует значение объекта с заданным ключом, если он отсутствовал в хранилище.
InitNotNull Инициализирует значение объекта с заданным ключом, если он отсутствовал в хранилище или был равен null, посредством фабрики объектов.
MemberwiseCloneCreates a shallow copy of the current Object.
(Унаследован от Object)
Remove Удаляет объект с заданным ключом из хранилища.
Set Устанавливает значение в хранилище по заданному ключу. При этом не изменяется внутренний кэш декораторов, поэтому метод следует использовать только для примитивных типов.
SetNull Устанавливает значение null для элемента по заданному ключу и удаляет предыдущий элемент из внутреннего кэша декораторов.
SetNullIfEmptyEnumerable Устанавливает равным null элемент с ключом key, если он является пустым перечислением IEnumerable.
SetStorage(DictionaryString, Object) Устанавливает хранилище Dictionary<string, object>, декоратором для которого является текущий объект, посредством копирования значений из заданного хранилища. Если текущий объект реализует IStorageNotificationReceiver, то для него вызывается метод NotifyStorageUpdated.
SetStorage(IStorageObjectProvider) Устанавливает хранилище Dictionary<string, object>, декоратором для которого является текущий объект, посредством копирования значений из хранилища заданного объекта. Если текущий объект реализует IStorageNotificationReceiver, то для него вызывается метод NotifyStorageUpdated.
SetStorageValue Устанавливает значение объекта, реализующего IStorageProvider, в хранилище по заданному ключу. При этом также изменяется внутренний кэш декораторов, поэтому метод следует использовать для декораторов.
ToDynamic Возвращает объект, осуществляющий доступ к хранилищу, декоратором для которого является текущий объект, через позднее связывание.
ToJson Сериализует объект в текстовый JSON. Рассмотрите использование метода ToTypedJson(Boolean) для сериализации с сохранением полной информации по типам, которую можно будет восстановить в методе FromTypedJson.
ToStringReturns a string that represents the current object.
(Унаследован от Object)
ToTypedJson Сериализует объект в текстовый JSON с сохранением информации по типам для всех подобъектов, в т.ч. для Info. Используйте метод FromTypedJson для десериализации. Для сериализации других объектов, у которых нет метода ToTypedJson (например, request/response), используйте метод SerializeToTypedJson(IDictionaryString, Object, Boolean), передав в него структуру объекта obj.GetStorage().
TryGetT Возвращает строго типизированное значение объекта из хранилища по заданному ключу или default(T), если объект по заданному ключу не найден.
TryGetDictionaryT Возвращает строго типизированное значение объекта Dictionary<string, object> из хранилища по заданному ключу или default(T), если объект по заданному ключу не найден.
TryGetListT Возвращает строго типизированное значение объекта List<object> из хранилища по заданному ключу или default(T), если объект по заданному ключу не найден.
TryGetString Возвращает строковое представление для значения объекта из хранилища по заданному ключу или null, если объект по заданному ключу не найден.

Поля

BinaryDataSerializationKey 
DefaultCapacity Вместимость по умолчанию, рекомендуемая при создании наследника StorageObject с пустым DictionaryTKey, TValue.

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

Get
(Определяется ComHelper)
Invoke
(Определяется ComHelper)
Set
(Определяется ComHelper)
ToSerializable Возвращает сериализуемый объект, полученный для заданного объекта, предоставляющего доступ к хранилищу Dictionary<string, object>.
(Определяется StorageExtensions)

См. также