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