/// <summary> /// Initializes a new instance of the <see cref="ConfigurationMissingException"/> class. /// </summary> /// <param name="missingType"> /// An enumeration value that specifies the type of entity that is missing from the configuration. /// </param> /// <param name="missingEntityExpression"> /// An expression naming or describing the entity that is missing from the configuration. /// </param> /// <param name="innerException">The exception that is the cause of this exception.</param> public ConfigurationMissingException(MissingConfigurationType missingType, string missingEntityExpression, Exception innerException) : base(FormatMessage(missingType, missingEntityExpression), innerException) { MissingType = missingType; MissingEntityExpression = missingEntityExpression; }
private static string FormatMessage(MissingConfigurationType missingType, string missingEntityExpression) { return(missingType switch { MissingConfigurationType.Whole => Strings.MissingConfigurationWhole, MissingConfigurationType.Section => Strings.MissingConfigurationSection.InvariantFormat(missingEntityExpression), MissingConfigurationType.Element => Strings.MissingConfigurationElement.InvariantFormat(missingEntityExpression), _ => Strings.MissingConfigurationAttribute.InvariantFormat(missingEntityExpression) });