30 ArgumentNullException.ThrowIfNull(options);
47 ArgumentNullException.ThrowIfNull(configuration);
72 solver = descriptor.Create();
94 ArgumentNullException.ThrowIfNull(options);
102 solver = descriptor.Create(options);
Canonical runtime inventory of every public IUlsSolver strategy.
static bool TryGet(string? id, [NotNullWhen(true)] out UlsSolverDescriptor? descriptor)
Attempts to resolve one descriptor by stable identifier.
static UlsSolverDescriptor Get(string id)
Gets one descriptor by stable identifier.
Versioned, serializable definition of one ULS strategy and its constructor-level options.
string SolverId
Gets or sets the stable solver identifier.
void Validate()
Validates the schema, stable solver ID and all strategy-specific options without constructing or solv...
UlsSolverCreationOptions Options
Gets or sets the constructor-level strategy options.
Composes the existing strategy-specific constructor options used by UlsSolverFactory.
IUlsSolver Create()
Creates a new solver instance using the strategy's default constructor policy.
Creates public ULS strategies from stable catalog identifiers.
static bool TryCreate(string? id, out IUlsSolver? solver)
Attempts to create a solver using its stable catalog identifier.
static IUlsSolver Create(string id, UlsSolverCreationOptions options)
Creates a new solver using its stable catalog identifier and explicit constructor-level configuration...
static bool TryCreate(string? id, UlsSolverCreationOptions options, out IUlsSolver? solver)
Attempts to create a configured solver using its stable catalog identifier.
static IUlsSolver Create(string id)
Creates a new solver using its stable catalog identifier and default constructor policy.
static IUlsSolver Create(UlsSolverConfiguration configuration)
Creates a new solver from a versioned serializable configuration.
Defines the common strategy contract implemented by every ULS solver.