Class EffectiveSettingsSet
The set of settings a COLLECTION-cardinality system installs from, stated once so the runtime lookup and the editor's own boot-scene check cannot drift: what the composition root PINS is the whole set when it pins anything at all, and label discovery answers only for a field left empty.
A pinned list is taken exactly as authored — nothing added, nothing removed. An author pins a subset precisely to exclude shipped members they do not want installed, so folding discovery back in would silently reinstate them. Leaving a field EMPTY is how a project asks for everything by label, and that branch already prefers an adopted twin over the origin it was cloned from (WithoutShadowedTwins<T>(IReadOnlyList<T>, Func<T, string>, out IReadOnlyList<string>), applied by the discovery loader).
Engine-agnostic and Unity-free.
Inherited Members
Namespace: Serenity.Global.Application.References
Assembly: Serenity.Global.Application.dll
Syntax
public static class EffectiveSettingsSet
Methods
Resolve<T>(IReadOnlyList<T>, Func<IReadOnlyList<T>>)
Resolves the effective set.
Declaration
public static IReadOnlyList<T> Resolve<T>(IReadOnlyList<T> pinned, Func<IReadOnlyList<T>> discover) where T : class
Parameters
| Type | Name | Description |
|---|---|---|
| IReadOnlyList<T> | pinned | What the composition root pins; null or empty when nothing is pinned. |
| Func<IReadOnlyList<T>> | discover | Label discovery, invoked ONLY when nothing is pinned — a pinned field must not pay for a catalog load, and must not be influenced by what such a load would have found. |
Returns
| Type | Description |
|---|---|
| IReadOnlyList<T> | The pinned members when there are any, otherwise whatever discovery answered; never null. |
Type Parameters
| Name | Description |
|---|---|
| T | The candidate settings type. |