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
TDictionary
The type of the dictionary.
TKey
The type of the keys.
TValue
The 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
dictionaryRepresentation
DictionaryRepresentationThe dictionary representation.
DictionarySerializerBase(DictionaryRepresentation, IBsonSerializerRegistry)
Initializes a new instance of the DictionarySerializerBase<TDictionary, TKey, TValue> class.
public DictionarySerializerBase(DictionaryRepresentation dictionaryRepresentation, IBsonSerializerRegistry serializerRegistry)
Parameters
dictionaryRepresentation
DictionaryRepresentationThe dictionary representation.
serializerRegistry
IBsonSerializerRegistryThe 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
dictionaryRepresentation
DictionaryRepresentationThe dictionary representation.
keySerializer
IBsonSerializer<TKey>The key serializer.
valueSerializer
IBsonSerializer<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
context
BsonDeserializationContextThe deserialization context.
args
BsonDeserializationArgsThe 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
accumulator
ICollection<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
context
BsonSerializationContextThe serialization context.
args
BsonSerializationArgsThe serialization args.
value
TDictionaryThe 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
.
TryGetMemberSerializationInfo(string, out BsonSerializationInfo)
Tries to get the serialization info for a member.
public bool TryGetMemberSerializationInfo(string memberName, out BsonSerializationInfo serializationInfo)
Parameters
memberName
stringName of the member.
serializationInfo
BsonSerializationInfoThe serialization information.
Returns
- bool
true
if the serialization info exists; otherwisefalse
.