Table of Contents

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
DowncastingSerializer<TBase, TDerived>
Implements
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

ArgumentNullException

Properties

BaseType

The base type that the serializer will downcast from.

public Type BaseType { get; }

Property Value

Type

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

Type

Methods

Deserialize(BsonDeserializationContext, BsonDeserializationArgs)

Deserializes a value.

public override TBase Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)

Parameters

context BsonDeserializationContext

The deserialization context.

args BsonDeserializationArgs

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

The serialization context.

args BsonSerializationArgs

The serialization args.

value TBase

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

The serialization information.

Returns

bool

true if the serialization info exists; otherwise false.

TryGetMemberSerializationInfo(string, out BsonSerializationInfo)

Tries to get the serialization info for a member.

public bool TryGetMemberSerializationInfo(string memberName, out BsonSerializationInfo serializationInfo)

Parameters

memberName string

Name of the member.

serializationInfo BsonSerializationInfo

The serialization information.

Returns

bool

true if the serialization info exists; otherwise false.