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
TValue
The type of the value.
TItem
The 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
serializerRegistry
IBsonSerializerRegistryThe serializer registry.
EnumerableSerializerBase(IBsonSerializer<TItem>)
Initializes a new instance of the EnumerableSerializerBase<TValue, TItem> class.
protected EnumerableSerializerBase(IBsonSerializer<TItem> itemSerializer)
Parameters
itemSerializer
IBsonSerializer<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
accumulator
objectThe accumulator.
item
TItemThe 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
context
BsonDeserializationContextThe deserialization context.
args
BsonDeserializationArgsThe deserialization args.
Returns
- TValue
A deserialized value.
EnumerateItemsInSerializationOrder(TValue)
Enumerates the items in serialization order.
protected abstract IEnumerable<TItem> EnumerateItemsInSerializationOrder(TValue value)
Parameters
value
TValueThe value.
Returns
- IEnumerable<TItem>
The items.
FinalizeResult(object)
Finalizes the result.
protected abstract TValue FinalizeResult(object accumulator)
Parameters
accumulator
objectThe accumulator.
Returns
- TValue
The result.
Serialize(BsonSerializationContext, BsonSerializationArgs, TValue)
Serializes a value.
public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, TValue value)
Parameters
context
BsonSerializationContextThe serialization context.
args
BsonSerializationArgsThe serialization args.
value
TValueThe object.
TryGetItemSerializationInfo(out BsonSerializationInfo)
Tries to get the serialization info for the individual items of the array.
public bool TryGetItemSerializationInfo(out BsonSerializationInfo serializationInfo)
Parameters
serializationInfo
BsonSerializationInfoThe serialization information.
Returns
- bool
The serialization info for the items.