Compono.CompositionConfigurationError.DuplicateConfigurationOption
Compono¶
Compono.CompositionConfigurationError¶
CompositionConfigurationError.DuplicateConfigurationOption Class¶
The same scalar (singleton-valued) configuration option - WithSeed, WithCollectionSize's global default, or UseServiceProvider - was set more than once across a single Create(Action<CompositionBuilder>) callback.
public sealed record CompositionConfigurationError.DuplicateConfigurationOption : Compono.CompositionConfigurationError, System.IEquatable<Compono.CompositionConfigurationError.DuplicateConfigurationOption>
Inheritance System.Object → CompositionConfigurationError → DuplicateConfigurationOption
Implements System.IEquatable<DuplicateConfigurationOption>
Remarks¶
Deliberately fail-fast rather than last-wins, unlike a typical "options builder" convention - see docs/adr/0017-immutable-composer-configuration-and-builder-model.md's Amendment for why a contradictory scalar configuration (e.g. two different seeds) has no coherent effective value to fall back to.
| Constructors | |
|---|---|
| DuplicateConfigurationOption(string, IReadOnlyList<ConfigurationSource>) | Creates a DuplicateConfigurationOption error. |
| Properties | |
|---|---|
| OptionName | The builder verb's name, e.g. "WithSeed". |
| Sources | Every call that set this option, in call order - always at least two. A genuinely immutable snapshot (Compono.ImmutableSnapshot) taken at construction, never the caller-supplied list itself and never a plain array a caller could cast back to and mutate - the same mutation-after-construction concern Errors guards against, one level deeper. |