Class EnumerableSerializerBase<TValue>
- Namespace
- MongoDB.Bson.Serialization.Serializers
- Assembly
- MongoDB.Bson.dll
Represents a base serializer for enumerable values.
public abstract class EnumerableSerializerBase<TValue> : SerializerBase<TValue>, IBsonSerializer<TValue>, IBsonArraySerializer, IBsonSerializer where TValue : class, IEnumerable
Type Parameters
TValueThe type of the value.
- Inheritance
-
SerializerBase<TValue>EnumerableSerializerBase<TValue>
- Implements
-
IBsonSerializer<TValue>
- Derived
- Inherited Members
- Extension Methods
Constructors
EnumerableSerializerBase()
Initializes a new instance of the EnumerableSerializerBase<TValue> class.
protected EnumerableSerializerBase()
EnumerableSerializerBase(IBsonSerializer)
Initializes a new instance of the EnumerableSerializerBase<TValue> class.
protected EnumerableSerializerBase(IBsonSerializer itemSerializer)
Parameters
itemSerializerIBsonSerializerThe item serializer.
EnumerableSerializerBase(IBsonSerializerRegistry)
Initializes a new instance of the EnumerableSerializerBase<TValue> class.
protected EnumerableSerializerBase(IBsonSerializerRegistry serializerRegistry)
Parameters
serializerRegistryIBsonSerializerRegistryThe serializer registry.
Properties
ItemSerializer
Gets the item serializer.
public IBsonSerializer ItemSerializer { get; }
Property Value
- IBsonSerializer
The item serializer.
Methods
AddItem(object, object)
Adds the item.
protected abstract void AddItem(object accumulator, object item)
Parameters
CreateAccumulator()
Creates the accumulator.
protected abstract object CreateAccumulator()
Returns
- object
The accumulator.
Deserialize(BsonDeserializationContext, BsonDeserializationArgs)
Deserializes a value.
public override TValue Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
Parameters
contextBsonDeserializationContextThe deserialization context.
argsBsonDeserializationArgsThe deserialization args.
Returns
- TValue
A deserialized value.
EnumerateItemsInSerializationOrder(TValue)
Enumerates the items in serialization order.
protected abstract IEnumerable EnumerateItemsInSerializationOrder(TValue value)
Parameters
valueTValueThe value.
Returns
- IEnumerable
The items.
FinalizeResult(object)
Finalizes the result.
protected abstract TValue FinalizeResult(object accumulator)
Parameters
accumulatorobjectThe accumulator.
Returns
- TValue
The final result.
Serialize(BsonSerializationContext, BsonSerializationArgs, TValue)
Serializes a value.
public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, TValue value)
Parameters
contextBsonSerializationContextThe serialization context.
argsBsonSerializationArgsThe serialization args.
valueTValueThe object.
TryGetItemSerializationInfo(out BsonSerializationInfo)
Tries to get the serialization info for the individual items of the array.
public bool TryGetItemSerializationInfo(out BsonSerializationInfo serializationInfo)
Parameters
serializationInfoBsonSerializationInfoThe serialization information.
Returns
- bool
trueif the serialization info exists; otherwisefalse.