Show / Hide Table of Contents

Interface ISerializerErrorHandler

Обработчик ошибок сериализации и десериализации.

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

Если требуется, чтобы некоторые ошибки сериализации и десериализации объектов были проигнорированы, необходимо реализовать интерфейс ISerializerErrorHandler и зарегистрировать реализацию в контейнере зависимостей. При возникновении ошибки сериализации или десериализации осуществляется вызов метода Handle(Object, Object, Exception) у каждого из зарегистрированных обработчиков до тех пор, пока один из них не вернет значение true, означающее окончание обработки ошибки. При этом порядок вызова обработчиков в общем случае не гарантируется. Если ошибка в конечном счете обработана (метод Handle(Object, Object, Exception) одного из обработчиков вернул true), то как в случае сериализации, так и в случае десериализации значением свойства, на котором произошла ошибка, будет считаться null.

Methods

| Improve this Doc View Source

Handle(Object, Object, Exception)

Обрабатывает ошибку и возвращает признак окончания ее обработки.

Declaration
bool Handle(object target, object member, Exception error)
Parameters
Type Name Description
System.Object target

Объект, на котором произошла ошибка.

System.Object member

Свойство, на котором произошла ошибка.

Exception error

Исключение с информацией об ошибке.

Returns
Type Description
System.Boolean

Возвращает true, если ошибка была обработана и вызов других обработчиков не требуется, иначе - false.

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.