Skip to content

Commit 3f634d5

Browse files
committed
Improvements
1 parent 56a9b7e commit 3f634d5

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed

src/MongoDB.Bson/BsonDefaults.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public static class BsonDefaults
3434

3535
// public static properties
3636
/// <summary>
37-
/// Gets or sets the dynamic array serializer.
37+
/// Gets or sets the dynamic array serializer. //TODO What to we do with this?
3838
/// </summary>
3939
public static IBsonSerializer DynamicArraySerializer
4040
{

src/MongoDB.Bson/Serialization/BsonDeserializationContext.cs

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515

1616
using System;
1717
using MongoDB.Bson.IO;
18+
using MongoDB.Bson.Serialization.Options;
19+
using MongoDB.Bson.Serialization.Serializers;
1820

1921
namespace MongoDB.Bson.Serialization
2022
{
@@ -28,18 +30,21 @@ public class BsonDeserializationContext
2830
private readonly IBsonSerializer _dynamicArraySerializer;
2931
private readonly IBsonSerializer _dynamicDocumentSerializer;
3032
private readonly IBsonReader _reader;
33+
private readonly IBsonSerializationDomain _domain;
3134

3235
// constructors
3336
private BsonDeserializationContext(
3437
IBsonReader reader,
3538
bool allowDuplicateElementNames,
3639
IBsonSerializer dynamicArraySerializer,
37-
IBsonSerializer dynamicDocumentSerializer)
40+
IBsonSerializer dynamicDocumentSerializer,
41+
IBsonSerializationDomain domain)
3842
{
3943
_reader = reader;
4044
_allowDuplicateElementNames = allowDuplicateElementNames;
4145
_dynamicArraySerializer = dynamicArraySerializer;
4246
_dynamicDocumentSerializer = dynamicDocumentSerializer;
47+
_domain = domain;
4348
}
4449

4550
// public properties
@@ -54,6 +59,11 @@ public bool AllowDuplicateElementNames
5459
get { return _allowDuplicateElementNames; }
5560
}
5661

62+
/// <summary>
63+
/// //TODO
64+
/// </summary>
65+
public IBsonSerializationDomain Domain => _domain;
66+
5767
/// <summary>
5868
/// Gets the dynamic array serializer.
5969
/// </summary>
@@ -138,6 +148,7 @@ public class Builder
138148
private IBsonSerializer _dynamicArraySerializer;
139149
private IBsonSerializer _dynamicDocumentSerializer;
140150
private IBsonReader _reader;
151+
private IBsonSerializationDomain _domain;
141152

142153
// constructors
143154
internal Builder(BsonDeserializationContext other, IBsonReader reader)
@@ -153,6 +164,7 @@ internal Builder(BsonDeserializationContext other, IBsonReader reader)
153164
_allowDuplicateElementNames = other.AllowDuplicateElementNames;
154165
_dynamicArraySerializer = other.DynamicArraySerializer;
155166
_dynamicDocumentSerializer = other.DynamicDocumentSerializer;
167+
_domain = other.Domain;
156168
}
157169
else
158170
{
@@ -209,14 +221,23 @@ public IBsonReader Reader
209221
get { return _reader; }
210222
}
211223

224+
/// <summary>
225+
/// //TODO
226+
/// </summary>
227+
public IBsonSerializationDomain Domain
228+
{
229+
get => _domain;
230+
set => _domain = value;
231+
}
232+
212233
// public methods
213234
/// <summary>
214235
/// Builds the BsonDeserializationContext instance.
215236
/// </summary>
216237
/// <returns>A BsonDeserializationContext.</returns>
217238
internal BsonDeserializationContext Build()
218239
{
219-
return new BsonDeserializationContext(_reader, _allowDuplicateElementNames, _dynamicArraySerializer, _dynamicDocumentSerializer);
240+
return new BsonDeserializationContext(_reader, _allowDuplicateElementNames, _dynamicArraySerializer, _dynamicDocumentSerializer, _domain);
220241
}
221242
}
222243
}

src/MongoDB.Bson/Serialization/BsonSerializer.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@ static BsonSerializer()
3434
_domain = new BsonSerializationDomain();
3535
}
3636

37-
//TODO This will need to be public
38-
internal static IBsonSerializationDomain Domain => _domain;
37+
/// <summary>
38+
/// //TODO
39+
/// </summary>
40+
public static IBsonSerializationDomain DefaultDomain => _domain;
3941

4042
// public static properties
4143
/// <summary>

0 commit comments

Comments
 (0)