Show / Hide Table of Contents

Class ReadingStrategy

Represents logic that resolves POD data types and field layouts to CLR types/layouts. Extend this type and pass its instance into PortableObjectDocument.ToOriginalObject(ReadingStrategy)

Inheritance
System.Object
ReadingStrategy
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: NFX.Serialization.POD
Assembly: NFX.dll
Syntax
public class ReadingStrategy

Constructors

ReadingStrategy()

Declaration
protected ReadingStrategy()

Properties

Default

Returns an instance of default strategy

Declaration
public static ReadingStrategy Default { get; }
Property Value
Type Description
ReadingStrategy

Methods

CompositeToNative(CompositeData)

Resolves composite data into CLR object

Declaration
public virtual object CompositeToNative(CompositeData data)
Parameters
Type Name Description
CompositeData data
Returns
Type Description
System.Object

ConstructObject(CompositeData)

Constructs object out of CompositeData. This implementation calls ResolveType then tries to invoke attribute constructor first then create instance using default ctor

Declaration
public virtual object ConstructObject(CompositeData data)
Parameters
Type Name Description
CompositeData data
Returns
Type Description
System.Object

DeserializeArray(Array, CompositeArrayData)

Declaration
public virtual void DeserializeArray(Array array, CompositeArrayData data)
Parameters
Type Name Description
System.Array array
CompositeArrayData data

DeserializeObjectFromCompositeCustomData(Object, CompositeCustomData)

Declaration
public virtual void DeserializeObjectFromCompositeCustomData(object instance, CompositeCustomData data)
Parameters
Type Name Description
System.Object instance
CompositeCustomData data

DeserializeObjectFromCompositeReflectedData(Object, CompositeReflectedData)

Declaration
public virtual void DeserializeObjectFromCompositeReflectedData(object instance, CompositeReflectedData data)
Parameters
Type Name Description
System.Object instance
CompositeReflectedData data

DeserializeSerializationInfo(Type, CompositeCustomData, StreamingContext)

Performs deserialization of SerializationInfo from CompositeCustomData bag

Declaration
protected virtual SerializationInfo DeserializeSerializationInfo(Type objType, CompositeCustomData data, StreamingContext context)
Parameters
Type Name Description
System.Type objType
CompositeCustomData data
System.Runtime.Serialization.StreamingContext context
Returns
Type Description
System.Runtime.Serialization.SerializationInfo

MakeNewArrayInstance(CompositeArrayData)

Creates an array instance described by the CompositeArrayData instance

Declaration
public virtual object MakeNewArrayInstance(CompositeArrayData arrayData)
Parameters
Type Name Description
CompositeArrayData arrayData
Returns
Type Description
System.Object

MakeNewObjectInstanceUsingDefaultCtor(Type)

Creates an object using its default .ctor. This implementation uses "magic" to create uninit buffer first

Declaration
public virtual object MakeNewObjectInstanceUsingDefaultCtor(Type clrType)
Parameters
Type Name Description
System.Type clrType
Returns
Type Description
System.Object

ResolveField(Type, MetaComplexType.MetaField)

Resolves a meta field definition into actual native field. Returns null wen resolution is not possible and field should be skipped

Declaration
public virtual FieldInfo ResolveField(Type nativeType, MetaComplexType.MetaField mfield)
Parameters
Type Name Description
System.Type nativeType
MetaComplexType.MetaField mfield
Returns
Type Description
System.Reflection.FieldInfo

ResolveType(MetaType)

Resolves a MetaType instance from a particular document into CLR Type, i.e. an obsolete class named "ABC" may be resolved into newer class "ABCX"

Declaration
public virtual Type ResolveType(MetaType metaType)
Parameters
Type Name Description
MetaType metaType
Returns
Type Description
System.Type

SetFieldData(Object, FieldInfo, CompositeReflectedData, MetaComplexType.MetaField)

Performs the assignment of portable data into native field

Declaration
public virtual void SetFieldData(object instance, FieldInfo fieldInfo, CompositeReflectedData data, MetaComplexType.MetaField mfield)
Parameters
Type Name Description
System.Object instance
System.Reflection.FieldInfo fieldInfo
CompositeReflectedData data
MetaComplexType.MetaField mfield

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX