20
20
21
21
namespace MongoDB . Bson
22
22
{
23
- //FP This could be moved somewhere else
23
+ //FP This could be moved somewhere else, and maybe reordered.
24
24
internal static class InternalExtensions
25
25
{
26
+ #region IDiscriminatorConvention
27
+
26
28
public static Type GetActualTypeInternal ( this IDiscriminatorConvention discriminatorConvention , IBsonReader bsonReader , Type nominalType , IBsonSerializationDomain serializationDomain )
27
29
{
28
30
if ( discriminatorConvention is IDiscriminatorConventionInternal internalConvention )
@@ -41,6 +43,23 @@ public static BsonValue GetDiscriminatorInternal(this IDiscriminatorConvention d
41
43
return discriminatorConvention . GetDiscriminator ( nominalType , actualType ) ;
42
44
}
43
45
46
+ #endregion
47
+
48
+ #region IScalarDiscriminatorConvention
49
+
50
+ public static BsonValue [ ] GetDiscriminatorsForTypeAndSubTypesInternal ( this IScalarDiscriminatorConvention discriminatorConvention , Type type , IBsonSerializationDomain serializationDomain )
51
+ {
52
+ if ( discriminatorConvention is IScalarDiscriminatorConventionInternal internalConvention )
53
+ {
54
+ return internalConvention . GetDiscriminatorsForTypeAndSubTypes ( type , serializationDomain ) ;
55
+ }
56
+ return discriminatorConvention . GetDiscriminatorsForTypeAndSubTypes ( type ) ;
57
+ }
58
+
59
+ #endregion
60
+
61
+ #region IMemberMapConvention
62
+
44
63
public static void ApplyInternal ( this IMemberMapConvention memberMapConvention , BsonMemberMap memberMap , IBsonSerializationDomain serializationDomain )
45
64
{
46
65
if ( memberMapConvention is IMemberMapConventionInternal internalConvention )
@@ -53,6 +72,10 @@ public static void ApplyInternal(this IMemberMapConvention memberMapConvention,
53
72
}
54
73
}
55
74
75
+ #endregion
76
+
77
+ #region IPostProcessingConvention
78
+
56
79
public static void PostProcessInternal ( this IPostProcessingConvention postProcessingConvention , BsonClassMap classMap , IBsonSerializationDomain serializationDomain )
57
80
{
58
81
if ( postProcessingConvention is IPostProcessingConventionInternal internalConvention )
@@ -64,5 +87,7 @@ public static void PostProcessInternal(this IPostProcessingConvention postProces
64
87
postProcessingConvention . PostProcess ( classMap ) ;
65
88
}
66
89
}
90
+
91
+ #endregion
67
92
}
68
93
}
0 commit comments