Show / Hide Table of Contents

Interface IMemberValueConverter

Определяет правила преобразования значения свойства при выполнении сериализации и десериализации.

Namespace:InfinniPlatform.Serialization
Assembly:InfinniPlatform.Core.Abstractions.dll
Syntax
public interface IMemberValueConverter
Remarks

В некоторых сценариях сериализованное представление экземпляра объекта может отличаться от его естественного вида. Подобные ситуации могут происходить по разным причинам. Например, хранить данные объектов или передавать их по сети удобно в одном виде, а обрабатывать - в другом. Либо способ хранения или обработки информации жестко определен одной из сторон, что часто бывает при работе со сторонними пакетами или системами с жестко определенной структурой данных. В таких ситуациях удобно иметь механизм, который позволяет прозрачно для разработчика делать преобразование одного формата данных в другой и обратно. Для этих целей служит интерфейс IMemberValueConverter, который описывает правила преобразования значений свойств объектов из одного представления в другое и обратно при выполнении операций сериализации и десериализации. На прикладном уровне необходимо реализовать интерфейс IMemberValueConverter и зарегистрировать реализацию в контейнере зависимостей.

Methods

| Improve this Doc View Source

CanConvert(MemberInfo)

Проверяет возможность применения преобразования для указанного свойства.

Declaration
bool CanConvert(MemberInfo member)
Parameters
Type Name Description
MemberInfo member

Информация о свойстве.

Returns
Type Description
System.Boolean

Значение true, если конвертер применим к указанному свойству, иначе - false.

| Improve this Doc View Source

Convert(Object)

Преобразует указанное значение в значение для сериализации.

Declaration
object Convert(object value)
Parameters
Type Name Description
System.Object value

Значение для преобразования.

Returns
Type Description
System.Object

Значение для сериализации.

| Improve this Doc View Source

ConvertBack(Func<Type, Object>)

Преобразует указанное значение в значение для десериализации.

Declaration
object ConvertBack(Func<Type, object> value)
Parameters
Type Name Description
Func<Type, System.Object> value

Значение для преобразования.

Returns
Type Description
System.Object

Значение для десериализации.

Extension Methods

DynamicCollectionExtensions.GetItem(Object, Int32)
DynamicCollectionExtensions.SetItem(Object, Int32, Object)
DynamicCollectionExtensions.AddItem(Object, Object)
DynamicCollectionExtensions.InsertItem(Object, Int32, Object)
DynamicCollectionExtensions.RemoveItem(Object, Object)
DynamicCollectionExtensions.RemoveItemAt(Object, Int32)
DynamicCollectionExtensions.MoveItem(Object, Object, Int32)
DynamicObjectExtensions.TryGetPropertyValue(Object, String)
DynamicObjectExtensions.TrySetPropertyValue(Object, String, Object)
DynamicObjectExtensions.TryGetPropertyValueByPath(Object, String)
DynamicObjectExtensions.TrySetPropertyValueByPath(Object, String, Object)
ReflectionExtensions.IsInstanceOfType(Object, Type)
ReflectionExtensions.GetMemberValue(Object, String)
ReflectionExtensions.SetMemberValue(Object, String, Object)
ReflectionExtensions.InvokeMember(Object, String, Object[], out Object, Type[])
ReflectionExtensions.GetFieldValue(Object, FieldInfo)
ReflectionExtensions.SetFieldValue(Object, FieldInfo, Object)
ReflectionExtensions.GetPropertyValue(Object, PropertyInfo)
ReflectionExtensions.SetPropertyValue(Object, PropertyInfo, Object)
ReflectionExtensions.GetMethodDelegate(Object, MethodInfo)
ReflectionExtensions.GetEventDelegate(Object, EventInfo)
ReflectionExtensions.SetEventDelegate(Object, EventInfo, Object)
CommonExtensions.ExecuteSilent<T>(T, Action<T>)
  • Improve this Doc
  • View Source
Back to top © Copyright Infinnity Solutions Ltd, 2010–2017.