Class EnumerableSerializerBase<TValue, TItem>
- Namespace
- MongoDB.Bson.Serialization.Serializers
- Assembly
- MongoDB.Bson.dll
Represents a serializer for enumerable values.
public abstract class EnumerableSerializerBase<TValue, TItem> : SerializerBase<TValue>, IBsonSerializer<TValue>, IBsonArraySerializer, IBsonSerializer where TValue : class, IEnumerable<TItem>
Type Parameters
TValueThe type of the value.
TItemThe type of the items.
- Inheritance
-
SerializerBase<TValue>EnumerableSerializerBase<TValue, TItem>
- Implements
-
IBsonSerializer<TValue>
- Derived
- Inherited Members
- Extension Methods
Constructors
EnumerableSerializerBase()
Initializes a new instance of the EnumerableSerializerBase<TValue, TItem> class.
protected EnumerableSerializerBase()
EnumerableSerializerBase(IBsonSerializerRegistry)
Initializes a new instance of the EnumerableSerializerBase<TValue, TItem> class.
protected EnumerableSerializerBase(IBsonSerializerRegistry serializerRegistry)
Parameters
serializerRegistryIBsonSerializerRegistryThe serializer registry.
EnumerableSerializerBase(IBsonSerializer<TItem>)
Initializes a new instance of the EnumerableSerializerBase<TValue, TItem> class.
protected EnumerableSerializerBase(IBsonSerializer<TItem> itemSerializer)
Parameters
itemSerializerIBsonSerializer<TItem>The item serializer.
Properties
ItemSerializer
Gets the item serializer.
public IBsonSerializer<TItem> ItemSerializer { get; }
Property Value
- IBsonSerializer<TItem>
The item serializer.
Methods
AddItem(object, TItem)
Adds the item.
protected abstract void AddItem(object accumulator, TItem item)
Parameters
accumulatorobjectThe accumulator.
itemTItemThe item.
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<TItem> EnumerateItemsInSerializationOrder(TValue value)
Parameters
valueTValueThe value.
Returns
- IEnumerable<TItem>
The items.
FinalizeResult(object)
Finalizes the result.
protected abstract TValue FinalizeResult(object accumulator)
Parameters
accumulatorobjectThe accumulator.
Returns
- TValue
The 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
The serialization info for the items.