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
TValue
The 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
itemSerializer
IBsonSerializerThe item serializer.
EnumerableSerializerBase(IBsonSerializerRegistry)
Initializes a new instance of the EnumerableSerializerBase<TValue> class.
protected EnumerableSerializerBase(IBsonSerializerRegistry serializerRegistry)
Parameters
serializerRegistry
IBsonSerializerRegistryThe 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
context
BsonDeserializationContextThe deserialization context.
args
BsonDeserializationArgsThe deserialization args.
Returns
- TValue
A deserialized value.
EnumerateItemsInSerializationOrder(TValue)
Enumerates the items in serialization order.
protected abstract IEnumerable EnumerateItemsInSerializationOrder(TValue value)
Parameters
value
TValueThe value.
Returns
- IEnumerable
The items.
FinalizeResult(object)
Finalizes the result.
protected abstract TValue FinalizeResult(object accumulator)
Parameters
accumulator
objectThe accumulator.
Returns
- TValue
The final 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
true
if the serialization info exists; otherwisefalse
.