File tree 2 files changed +9
-3
lines changed
src/MongoDB.Bson/Serialization/Conventions
2 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -70,7 +70,7 @@ public void Apply(BsonMemberMap memberMap)
70
70
{
71
71
var memberType = memberMap . MemberType ;
72
72
73
- if ( ! ( memberType . IsEnum || memberType . IsNullableEnum ( ) || memberType . IsArray || typeof ( IEnumerable ) . IsAssignableFrom ( memberType ) ) )
73
+ if ( ! CouldApply ( memberType ) )
74
74
{
75
75
return ;
76
76
}
@@ -87,6 +87,9 @@ public void Apply(BsonMemberMap memberMap)
87
87
88
88
IBsonSerializer Reconfigure ( IBsonSerializer s )
89
89
=> s . ValueType . IsEnum ? ( s as IRepresentationConfigurable ) ? . WithRepresentation ( _representation ) : null ;
90
+
91
+ bool CouldApply ( Type type )
92
+ => type . IsEnum || type . IsNullableEnum ( ) || type . IsArray || typeof ( IEnumerable ) . IsAssignableFrom ( type ) ;
90
93
}
91
94
92
95
// private methods
Original file line number Diff line number Diff line change @@ -155,8 +155,7 @@ public void Apply(BsonMemberMap memberMap)
155
155
{
156
156
var memberType = memberMap . MemberType ;
157
157
158
- if ( memberType != typeof ( object ) && Nullable . GetUnderlyingType ( memberType ) == null && ! memberType . IsArray &&
159
- ! typeof ( IEnumerable ) . IsAssignableFrom ( memberType ) )
158
+ if ( ! CouldApply ( memberType ) )
160
159
{
161
160
return ;
162
161
}
@@ -168,8 +167,12 @@ public void Apply(BsonMemberMap memberMap)
168
167
{
169
168
memberMap . SetSerializer ( reconfiguredSerializer ) ;
170
169
}
170
+
171
+ bool CouldApply ( Type type )
172
+ => type == typeof ( object ) || type . IsNullable ( ) || type . IsArray || typeof ( IEnumerable ) . IsAssignableFrom ( type ) ;
171
173
}
172
174
175
+ // private methods
173
176
private IBsonSerializer Reconfigure ( IBsonSerializer serializer )
174
177
{
175
178
if ( serializer is IChildSerializerConfigurable childSerializerConfigurable )
You can’t perform that action at this time.
0 commit comments