Back to API Reference
Class

ParameterDescriptor

abstract

One modifier parameter: the unit through which markup tokens, rule defaults, the modifier field, and per-range ownership resolve to a single value.

Remarks

A descriptor is a static identity declared once per (modifier type, parameter) in the modifier's nested Param class and aggregated by Descriptors. The cascade resolves, weakest first: the modifier field, the rule's default token, the explicit markup token, and finally owned values composed on top. Its invalidation is the field's own declared change notification, so a write through any stage raises exactly what a field write raises.

Derived Types(1)

Types that inherit from ParameterDescriptor.

public string Id{ get }

Stable identifier persisted by rule bindings — the backing field name.

public string DisplayName{ get }

Human-readable name for editor surfaces.

public int Slot{ get }

Positional markup slot, or -1 when the parameter has no markup presence.

public Type ValueType{ get }

Concrete value type.

public Type ModifierType{ get }

Modifier type declaring this parameter.

public ParameterCompositions SupportedCompositions{ get; set }

Operations owned values may compose with.

public abstract void Invalidate()

Raises the owning modifier's declared invalidation for this parameter.

public static ParameterDescriptor[] Concat()

Concatenates an inherited descriptor set with a declaring type's own, inherited first.

public static ParameterDescriptor Find()

Finds a descriptor by Id in a modifier's declared set, or null.

public static ParameterDescriptor<TModifier,TValue> From()

Creates a slotted descriptor: the markup slot is the accessor's position among marked parameter accessors, reordered to the markup contract — own-type fields first, then base-type fields.

public static ParameterDescriptor<TModifier,TValue> From()

Creates a slotless descriptor for a parameter with no markup presence.

public static ParameterDescriptor<TModifier,TValue> Custom()

Creates a descriptor over explicit delegates, for parameters whose root lives in nested state rather than a direct field of the modifier.

public static ParameterDescriptor<TModifier,TValue> FromEnum()

Creates a slotted descriptor for an enum parameter, parsed by member name or unique initial.

public static ParameterDescriptor<TModifier,TValue> FromEnum()

Creates a slotless descriptor for an enum parameter with no markup presence.

public int SlotOn()

Positional markup slot of this parameter on modifier's concrete type. A subclass's own parameters precede inherited ones in the markup contract, so a base-declared parameter sits later on a subclass range than Slot says.

public static readonly ParameterDescriptor[] None

Shared empty descriptor set.