Class ReferencedObjectSerializerRoot
Root Referenced Object serializer for schema type lookup. When serializer ID isn't known and only schema type is available it may be resolved to ReferencedObjectSerializerRoot which then delegates logic to concrete ReferencedObjectSerializer.
It saves concrete serializer ID as part of instance data, so even if just instance data is available it still possible to get concrete referenced object serializer and resolve it to valid instance.
Inheritance
System.Object
ReferencedObjectSerializerRoot
Assembly: Eco.Core.dll
Syntax
public class ReferencedObjectSerializerRoot : ObjectSerializer, IReferenceableSerializer, ISerializer
Constructors
ReferencedObjectSerializerRoot(SimpleSerializer)
Constructor for root ReferencedObjectSerializer. It not intended to be used for encoding/decoding, but as abstract root delegating to real instances of ReferencedObjectSerializer.
Declaration
public ReferencedObjectSerializerRoot(SimpleSerializer parent)
Parameters
ReferencedObjectSerializerRoot(SimpleSerializer, Type, ISerializer, Func<Object, Object>)
Declaration
protected ReferencedObjectSerializerRoot(SimpleSerializer parent, Type type, ISerializer keySerializer, Func<object, object> referenceResolver)
Parameters
Type |
Name |
Description |
SimpleSerializer |
parent |
|
System.Type |
type |
|
ISerializer |
keySerializer |
|
System.Func<System.Object, System.Object> |
referenceResolver |
|
Fields
ReferencedObjectSchemaType
Declaration
public const string ReferencedObjectSchemaType = "referencedobject"
Field Value
Type |
Description |
System.String |
|
Methods
DecodeObject(BinaryReader, Int32)
Declaration
protected override DecodedObject DecodeObject(BinaryReader reader, int objTypeID)
Parameters
Type |
Name |
Description |
System.IO.BinaryReader |
reader |
|
System.Int32 |
objTypeID |
|
Returns
Overrides
Encode(BinaryWriter, Object, SerializeFlags)
Declaration
public override void Encode(BinaryWriter writer, object key, SerializeFlags flags)
Parameters
Type |
Name |
Description |
System.IO.BinaryWriter |
writer |
|
System.Object |
key |
|
SerializeFlags |
flags |
|
Overrides
EncodeAsReference(BinaryWriter, BinaryReader)
Encodes key from keyReader
as a reference by the key to writer
.
Declaration
public void EncodeAsReference(BinaryWriter writer, BinaryReader keyReader)
Parameters
Type |
Name |
Description |
System.IO.BinaryWriter |
writer |
|
System.IO.BinaryReader |
keyReader |
|
EncodeInstance(BinaryWriter, Object, SerializeFlags)
Declaration
protected override void EncodeInstance(BinaryWriter writer, object instance, SerializeFlags flags)
Parameters
Type |
Name |
Description |
System.IO.BinaryWriter |
writer |
|
System.Object |
instance |
|
SerializeFlags |
flags |
|
Overrides
SkipInstance(BinaryReader)
Declaration
protected override void SkipInstance(BinaryReader reader)
Parameters
Type |
Name |
Description |
System.IO.BinaryReader |
reader |
|
Overrides
Implements
Extension Methods