How automapper/automapper.extensions.enummapping works
AutoMapper.Extensions.EnumMapping adds configurable enum-to-enum conversion to AutoMapper. A profile calls ConvertUsingEnumMapping, optionally selects name, underlying-value, or custom mappings, and may configure reverse mappings; conversion builds a runtime converter that resolves values or throws configured exceptions. The optional validation extension adds checks for unmapped source values during AutoMapper configuration validation. The README documents these capabilities; implementation relationships below are limited to sampled code and SOURCE INDEX references.
Main entry points: EnumMappingFeature.cs Mapping feature · EnumMappingValidationRuntimeFeatureProxy.cs Validation proxy · GetDestinationObject.cs Destination result · EnumMappingExpressionExtensions.cs Mapping extension
Components 14
Configuration API
- Mapping extension
src/AutoMapper.Extensions.EnumMapping/EnumMappingExpressionExtensions.cs - Mapping expression
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingExpression.cs - Enum options
src/AutoMapper.Extensions.EnumMapping/IEnumConfigurationExpression.cs - Reverse API
src/AutoMapper.Extensions.EnumMapping/IEnumMappingExpression.cs
Mapping Runtime
- Mapping feature
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingFeature.cs - Converter factory
src/AutoMapper.Extensions.EnumMapping/Internal/CustomMapExpressionFactory.cs - Destination result
src/AutoMapper.Extensions.EnumMapping/Internal/GetDestinationObject.cs - Result kind
src/AutoMapper.Extensions.EnumMapping/Internal/GetDestinationType.cs
Mapping Validation
- Validation extension
src/AutoMapper.Extensions.EnumMapping/EnumMapperConfigurationExpressionExtensions.cs - Validation proxy
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingValidationRuntimeFeatureProxy.cs - Mapping validator
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingValidationRuntimeFeature.cs - Validation contract
src/AutoMapper.Extensions.EnumMapping/Internal/IEnumMappingValidationRuntimeFeature.cs
Other components
- Profile author
- AutoMapper
Connections 17
- Profile author → Mapping extension: configures mapping
README.md - Mapping extension → Mapping feature: sets feature
src/AutoMapper.Extensions.EnumMapping/EnumMappingExpressionExtensions.cs - Mapping extension → Mapping expression: returns expression
src/AutoMapper.Extensions.EnumMapping/EnumMappingExpressionExtensions.cs - Mapping expression → Reverse API: implements API
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingExpression.cs - Reverse API → Enum options: accepts options
src/AutoMapper.Extensions.EnumMapping/IEnumMappingExpression.cs - Profile author → Enum options: selects mapping
README.md - Mapping feature → Converter factory: creates converter
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingFeature.cs - Converter factory → Destination result: resolves result
src/AutoMapper.Extensions.EnumMapping/Internal/CustomMapExpressionFactory.cs - Mapping feature → Destination result: stores mappings
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingFeature.cs - Destination result → Result kind: records kind
src/AutoMapper.Extensions.EnumMapping/Internal/GetDestinationObject.cs - Profile author → Validation extension: enables validation
README.md - Validation extension → Validation proxy: registers feature
src/AutoMapper.Extensions.EnumMapping/EnumMapperConfigurationExpressionExtensions.cs - Mapping feature → Validation proxy: attaches validator
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingFeature.cs - Validation proxy → Validation contract: implements contract
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingValidationRuntimeFeatureProxy.cs - Validation proxy → Mapping validator: delegates validation
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingValidationRuntimeFeatureProxy.cs - Mapping validator → Destination result: checks mappings
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingValidationRuntimeFeature.cs - Mapping feature → AutoMapper: registers converter
src/AutoMapper.Extensions.EnumMapping/Internal/EnumMappingFeature.cs