Table of Contents

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
EnumerableSerializerBase<TValue, TItem>
Implements
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 IBsonSerializerRegistry

The 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 object

The accumulator.

item TItem

The 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 BsonDeserializationContext

The deserialization context.

args BsonDeserializationArgs

The deserialization args.

Returns

TValue

A deserialized value.

EnumerateItemsInSerializationOrder(TValue)

Enumerates the items in serialization order.

protected abstract IEnumerable<TItem> EnumerateItemsInSerializationOrder(TValue value)

Parameters

value TValue

The value.

Returns

IEnumerable<TItem>

The items.

FinalizeResult(object)

Finalizes the result.

protected abstract TValue FinalizeResult(object accumulator)

Parameters

accumulator object

The accumulator.

Returns

TValue

The result.

Serialize(BsonSerializationContext, BsonSerializationArgs, TValue)

Serializes a value.

public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, TValue value)

Parameters

context BsonSerializationContext

The serialization context.

args BsonSerializationArgs

The serialization args.

value TValue

The 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 BsonSerializationInfo

The serialization information.

Returns

bool

The serialization info for the items.