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
TBase
The base type.
TDerived
The 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
derivedSerializer
IBsonSerializer<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
context
BsonDeserializationContextThe deserialization context.
args
BsonDeserializationArgsThe 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
context
BsonSerializationContextThe serialization context.
args
BsonSerializationArgsThe serialization args.
value
TBaseThe value.
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
.