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()
13291329
13301330 if ( discriminatorConvention != null )
13311331 {
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 ) ;
13421333 }
13431334 }
13441335
13451336 return discriminatorConvention ;
13461337
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+
13471352 IDiscriminatorConvention LookupDiscriminatorConvention ( )
13481353 {
13491354 var classMap = this ;
You can’t perform that action at this time.
0 commit comments