15
15
16
16
using System ;
17
17
using MongoDB . Bson . IO ;
18
+ using MongoDB . Bson . Serialization . Options ;
19
+ using MongoDB . Bson . Serialization . Serializers ;
18
20
19
21
namespace MongoDB . Bson . Serialization
20
22
{
@@ -28,18 +30,21 @@ public class BsonDeserializationContext
28
30
private readonly IBsonSerializer _dynamicArraySerializer ;
29
31
private readonly IBsonSerializer _dynamicDocumentSerializer ;
30
32
private readonly IBsonReader _reader ;
33
+ private readonly IBsonSerializationDomain _domain ;
31
34
32
35
// constructors
33
36
private BsonDeserializationContext (
34
37
IBsonReader reader ,
35
38
bool allowDuplicateElementNames ,
36
39
IBsonSerializer dynamicArraySerializer ,
37
- IBsonSerializer dynamicDocumentSerializer )
40
+ IBsonSerializer dynamicDocumentSerializer ,
41
+ IBsonSerializationDomain domain )
38
42
{
39
43
_reader = reader ;
40
44
_allowDuplicateElementNames = allowDuplicateElementNames ;
41
45
_dynamicArraySerializer = dynamicArraySerializer ;
42
46
_dynamicDocumentSerializer = dynamicDocumentSerializer ;
47
+ _domain = domain ;
43
48
}
44
49
45
50
// public properties
@@ -54,6 +59,11 @@ public bool AllowDuplicateElementNames
54
59
get { return _allowDuplicateElementNames ; }
55
60
}
56
61
62
+ /// <summary>
63
+ /// //TODO
64
+ /// </summary>
65
+ public IBsonSerializationDomain Domain => _domain ;
66
+
57
67
/// <summary>
58
68
/// Gets the dynamic array serializer.
59
69
/// </summary>
@@ -138,6 +148,7 @@ public class Builder
138
148
private IBsonSerializer _dynamicArraySerializer ;
139
149
private IBsonSerializer _dynamicDocumentSerializer ;
140
150
private IBsonReader _reader ;
151
+ private IBsonSerializationDomain _domain ;
141
152
142
153
// constructors
143
154
internal Builder ( BsonDeserializationContext other , IBsonReader reader )
@@ -153,6 +164,7 @@ internal Builder(BsonDeserializationContext other, IBsonReader reader)
153
164
_allowDuplicateElementNames = other . AllowDuplicateElementNames ;
154
165
_dynamicArraySerializer = other . DynamicArraySerializer ;
155
166
_dynamicDocumentSerializer = other . DynamicDocumentSerializer ;
167
+ _domain = other . Domain ;
156
168
}
157
169
else
158
170
{
@@ -209,14 +221,23 @@ public IBsonReader Reader
209
221
get { return _reader ; }
210
222
}
211
223
224
+ /// <summary>
225
+ /// //TODO
226
+ /// </summary>
227
+ public IBsonSerializationDomain Domain
228
+ {
229
+ get => _domain ;
230
+ set => _domain = value ;
231
+ }
232
+
212
233
// public methods
213
234
/// <summary>
214
235
/// Builds the BsonDeserializationContext instance.
215
236
/// </summary>
216
237
/// <returns>A BsonDeserializationContext.</returns>
217
238
internal BsonDeserializationContext Build ( )
218
239
{
219
- return new BsonDeserializationContext ( _reader , _allowDuplicateElementNames , _dynamicArraySerializer , _dynamicDocumentSerializer ) ;
240
+ return new BsonDeserializationContext ( _reader , _allowDuplicateElementNames , _dynamicArraySerializer , _dynamicDocumentSerializer , _domain ) ;
220
241
}
221
242
}
222
243
}
0 commit comments