Class DowncastingSerializer<TBase, TDerived>
- Namespace
- MongoDB.Bson.Serialization.Serializers
- Assembly
- MongoDB.Bson.dll
A serializer for TBase where the actual values are of type TDerived.
public class DowncastingSerializer<TBase, TDerived> : SerializerBase<TBase>, IBsonSerializer<TBase>, IBsonArraySerializer, IBsonDocumentSerializer, IBsonSerializer, IDowncastingSerializer where TDerived : TBase
Type Parameters
TBaseThe base type.
TDerivedThe derived type.
- Inheritance
-
SerializerBase<TBase>DowncastingSerializer<TBase, TDerived>
- Implements
-
IBsonSerializer<TBase>
- Inherited Members
- Extension Methods
Constructors
DowncastingSerializer(IBsonSerializer<TDerived>)
Initializes a new instance of DowncastingSerializer.
public DowncastingSerializer(IBsonSerializer<TDerived> derivedSerializer)
Parameters
derivedSerializerIBsonSerializer<TDerived>The derived type serializer.
Exceptions
Properties
BaseType
The base type that the serializer will downcast from.
public Type BaseType { get; }
Property Value
DerivedSerializer
The serializer for the derived type.
public IBsonSerializer<TDerived> DerivedSerializer { get; }
Property Value
- IBsonSerializer<TDerived>
DerivedType
The derived type that the serializer will downcast to.
public Type DerivedType { get; }
Property Value
Methods
Deserialize(BsonDeserializationContext, BsonDeserializationArgs)
Deserializes a value.
public override TBase Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
Parameters
contextBsonDeserializationContextThe deserialization context.
argsBsonDeserializationArgsThe deserialization args.
Returns
- TBase
A deserialized value.
Serialize(BsonSerializationContext, BsonSerializationArgs, TBase)
Serializes a value.
public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, TBase value)
Parameters
contextBsonSerializationContextThe serialization context.
argsBsonSerializationArgsThe serialization args.
valueTBaseThe value.
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.