Class DictionarySerializerBase<TDictionary, TKey, TValue>
- Namespace
- MongoDB.Bson.Serialization.Serializers
- Assembly
- MongoDB.Bson.dll
Represents a serializer for dictionaries.
public abstract class DictionarySerializerBase<TDictionary, TKey, TValue> : ClassSerializerBase<TDictionary>, IBsonSerializer<TDictionary>, IBsonArraySerializer, IBsonDocumentSerializer, IBsonSerializer, IBsonDictionarySerializer where TDictionary : class, IEnumerable<KeyValuePair<TKey, TValue>>
Type Parameters
TDictionaryThe type of the dictionary.
TKeyThe type of the keys.
TValueThe type of the values.
- Inheritance
-
SerializerBase<TDictionary>ClassSerializerBase<TDictionary>DictionarySerializerBase<TDictionary, TKey, TValue>
- Implements
-
IBsonSerializer<TDictionary>
- Derived
- Inherited Members
- Extension Methods
Constructors
DictionarySerializerBase()
Initializes a new instance of the DictionarySerializerBase<TDictionary, TKey, TValue> class.
public DictionarySerializerBase()
DictionarySerializerBase(DictionaryRepresentation)
Initializes a new instance of the DictionarySerializerBase<TDictionary, TKey, TValue> class.
public DictionarySerializerBase(DictionaryRepresentation dictionaryRepresentation)
Parameters
dictionaryRepresentationDictionaryRepresentationThe dictionary representation.
DictionarySerializerBase(DictionaryRepresentation, IBsonSerializerRegistry)
Initializes a new instance of the DictionarySerializerBase<TDictionary, TKey, TValue> class.
public DictionarySerializerBase(DictionaryRepresentation dictionaryRepresentation, IBsonSerializerRegistry serializerRegistry)
Parameters
dictionaryRepresentationDictionaryRepresentationThe dictionary representation.
serializerRegistryIBsonSerializerRegistryThe serializer registry.
DictionarySerializerBase(DictionaryRepresentation, IBsonSerializer<TKey>, IBsonSerializer<TValue>)
Initializes a new instance of the DictionarySerializerBase<TDictionary, TKey, TValue> class.
public DictionarySerializerBase(DictionaryRepresentation dictionaryRepresentation, IBsonSerializer<TKey> keySerializer, IBsonSerializer<TValue> valueSerializer)
Parameters
dictionaryRepresentationDictionaryRepresentationThe dictionary representation.
keySerializerIBsonSerializer<TKey>The key serializer.
valueSerializerIBsonSerializer<TValue>The value serializer.
Properties
DictionaryRepresentation
Gets the dictionary representation.
public DictionaryRepresentation DictionaryRepresentation { get; }
Property Value
- DictionaryRepresentation
The dictionary representation.
KeySerializer
Gets the key serializer.
public IBsonSerializer<TKey> KeySerializer { get; }
Property Value
- IBsonSerializer<TKey>
The key serializer.
ValueSerializer
Gets the value serializer.
public IBsonSerializer<TValue> ValueSerializer { get; }
Property Value
- IBsonSerializer<TValue>
The value serializer.
Methods
CreateAccumulator()
Creates an accumulator.
protected virtual ICollection<KeyValuePair<TKey, TValue>> CreateAccumulator()
Returns
- ICollection<KeyValuePair<TKey, TValue>>
The accumulator.
CreateInstance()
Creates the instance.
[Obsolete("CreateInstance is deprecated. Please use CreateAccumulator instead.")]
protected virtual TDictionary CreateInstance()
Returns
- TDictionary
The instance.
DeserializeValue(BsonDeserializationContext, BsonDeserializationArgs)
Deserializes a value.
protected override TDictionary DeserializeValue(BsonDeserializationContext context, BsonDeserializationArgs args)
Parameters
contextBsonDeserializationContextThe deserialization context.
argsBsonDeserializationArgsThe deserialization args.
Returns
- TDictionary
A deserialized value.
FinalizeAccumulator(ICollection<KeyValuePair<TKey, TValue>>)
Finalizes an accumulator.
protected virtual TDictionary FinalizeAccumulator(ICollection<KeyValuePair<TKey, TValue>> accumulator)
Parameters
accumulatorICollection<KeyValuePair<TKey, TValue>>The accumulator to finalize
Returns
- TDictionary
The instance.
SerializeValue(BsonSerializationContext, BsonSerializationArgs, TDictionary)
Serializes a value.
protected override void SerializeValue(BsonSerializationContext context, BsonSerializationArgs args, TDictionary value)
Parameters
contextBsonSerializationContextThe serialization context.
argsBsonSerializationArgsThe serialization args.
valueTDictionaryThe 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.
TryGetMemberSerializationInfo(string, out BsonSerializationInfo)
Tries to get the serialization info for a member.
public bool TryGetMemberSerializationInfo(string memberName, out BsonSerializationInfo serializationInfo)
Parameters
memberNamestringName of the member.
serializationInfoBsonSerializationInfoThe serialization information.
Returns
- bool
trueif the serialization info exists; otherwisefalse.