Show / Hide Table of Contents

Class StreamerFormat<TReader, TWriter>

Describes a format - apair of readers/writers along with their capabilities. Developers may derive new formats that support custom serialization schemes

Inheritance
System.Object
StreamerFormat
StreamerFormat<TReader, TWriter>
SlimFormat
Inherited Members
StreamerFormat.ReaderType
StreamerFormat.WriterType
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.IO
Assembly: NFX.dll
Syntax
public abstract class StreamerFormat<TReader, TWriter> : StreamerFormat where TReader : ReadingStreamer where TWriter : WritingStreamer
Type Parameters
Name Description
TReader
TWriter

Constructors

StreamerFormat()

Declaration
protected StreamerFormat()

Methods

GetReadActionForRefType(Type)

Returns a function that reads the specified ref type and returns it as object

Declaration
public Func<TReader, object> GetReadActionForRefType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Func<TReader, System.Object>

GetReadActionForType(Type)

Returns a function that reads the specified value type and returns it as object

Declaration
public Func<TReader, object> GetReadActionForType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Func<TReader, System.Object>

GetReadingStreamer(Encoding)

Makes new reader instance

Declaration
public override sealed ReadingStreamer GetReadingStreamer(Encoding encoding = null)
Parameters
Type Name Description
System.Text.Encoding encoding
Returns
Type Description
ReadingStreamer
Overrides
StreamerFormat.GetReadingStreamer(Encoding)

GetReadMethodForRefType(Type)

Returns a method info for reading a certain reference type for this format or null if this type is not directly supported. Use IsRefTypeSupported(type) to see if the ref type is native to this format.

Declaration
public override sealed MethodInfo GetReadMethodForRefType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Reflection.MethodInfo
Overrides
StreamerFormat.GetReadMethodForRefType(Type)

GetReadMethodForType(Type)

Returns a method info for reading a certain value type for this format or null if this type is not directly supported. Use IsTypeSupported(type) to see if the type is native to this format.

Declaration
public override sealed MethodInfo GetReadMethodForType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Reflection.MethodInfo
Overrides
StreamerFormat.GetReadMethodForType(Type)

GetWriteActionForRefType(Type)

Returns an action that writes the value of the specified ref type

Declaration
public Action<TWriter, object> GetWriteActionForRefType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Action<TWriter, System.Object>

GetWriteActionForType(Type)

Returns an action that writes the value of the specified value type

Declaration
public Action<TWriter, object> GetWriteActionForType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Action<TWriter, System.Object>

GetWriteMethodForRefType(Type)

Returns a method info for writing a certain ref type for this format. Use IsRefTypeSupported(type) to see if the type is native to this format.

Declaration
public override sealed MethodInfo GetWriteMethodForRefType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Reflection.MethodInfo
Overrides
StreamerFormat.GetWriteMethodForRefType(Type)

GetWriteMethodForType(Type)

Returns a method info for writing a certain value type for this format. Use IsTypeSupported(type) to see if the type is native to this format.

Declaration
public override sealed MethodInfo GetWriteMethodForType(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Reflection.MethodInfo
Overrides
StreamerFormat.GetWriteMethodForType(Type)

GetWritingStreamer(Encoding)

Makes new writer instance

Declaration
public override sealed WritingStreamer GetWritingStreamer(Encoding encoding = null)
Parameters
Type Name Description
System.Text.Encoding encoding
Returns
Type Description
WritingStreamer
Overrides
StreamerFormat.GetWritingStreamer(Encoding)

IsRefTypeSupported(Type)

Returns true when the supplied reference type is natively supported by format, that is - when this format can directly write instances of this type without reflection/complex graph walk.

Declaration
public override bool IsRefTypeSupported(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Boolean
Overrides
StreamerFormat.IsRefTypeSupported(Type)

IsTypeSupported(Type)

Returns true when the supplied value type is natively supported by format, that is - when this format can directly write instances of this type without reflection/complex graph walk.

Declaration
public override bool IsTypeSupported(Type t)
Parameters
Type Name Description
System.Type t
Returns
Type Description
System.Boolean
Overrides
StreamerFormat.IsTypeSupported(Type)

MakeReadingStreamer(Encoding)

Makes new reader instance

Declaration
public abstract TReader MakeReadingStreamer(Encoding encoding = null)
Parameters
Type Name Description
System.Text.Encoding encoding
Returns
Type Description
TReader

MakeWritingStreamer(Encoding)

Makes new writer instance

Declaration
public abstract TWriter MakeWritingStreamer(Encoding encoding = null)
Parameters
Type Name Description
System.Text.Encoding encoding
Returns
Type Description
TWriter

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