File tree Expand file tree Collapse file tree 1 file changed +15
-10
lines changed
src/MongoDB.Bson/Serialization Expand file tree Collapse file tree 1 file changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -1329,21 +1329,26 @@ internal IDiscriminatorConvention GetDiscriminatorConvention()
1329
1329
1330
1330
if ( discriminatorConvention != null )
1331
1331
{
1332
- var conflictingMemberMap = _allMemberMaps . FirstOrDefault ( memberMap => memberMap . ElementName == discriminatorConvention . ElementName ) ;
1333
-
1334
- if ( conflictingMemberMap != null )
1335
- {
1336
- var fieldOrProperty = conflictingMemberMap . MemberInfo is FieldInfo ? "field" : "property" ;
1337
-
1338
- throw new BsonSerializationException (
1339
- $ "The discriminator element name cannot be { discriminatorConvention . ElementName } " +
1340
- $ "because it is already being used by the { fieldOrProperty } { conflictingMemberMap . MemberName } of type { _classType . FullName } ") ;
1341
- }
1332
+ EnsureNoMemberMapConflicts ( discriminatorConvention . ElementName ) ;
1342
1333
}
1343
1334
}
1344
1335
1345
1336
return discriminatorConvention ;
1346
1337
1338
+ void EnsureNoMemberMapConflicts ( string elementName )
1339
+ {
1340
+ var conflictingMemberMap = _allMemberMaps . FirstOrDefault ( memberMap => memberMap . ElementName == elementName ) ;
1341
+
1342
+ if ( conflictingMemberMap != null )
1343
+ {
1344
+ var fieldOrProperty = conflictingMemberMap . MemberInfo is FieldInfo ? "field" : "property" ;
1345
+
1346
+ throw new BsonSerializationException (
1347
+ $ "The discriminator element name cannot be { discriminatorConvention . ElementName } " +
1348
+ $ "because it is already being used by the { fieldOrProperty } { conflictingMemberMap . MemberName } of type { _classType . FullName } ") ;
1349
+ }
1350
+ }
1351
+
1347
1352
IDiscriminatorConvention LookupDiscriminatorConvention ( )
1348
1353
{
1349
1354
var classMap = this ;
You can’t perform that action at this time.
0 commit comments