Vixen
dd8b0a81
csharp
public record class BoundFor

An @for.

No guide page documents this yet — the page shows what the code says about itself.

Fields and properties (8)

  • public string Variable

    The loop variable's name.

  • public BoundExpression Sequence

    The C# that produces the items.

  • public BoundExpression? Key

    The body's key expression, if its root element carries one.

  • public ImmutableArray<BoundNode> Body

    What each item builds.

  • public string? Index

    The name bound to the row's position, or null when the loop declares none. ⚠ It arrives in the body as a Signal<int> and not as an int, which is the whole of the feature rather than an implementation note. BuildContext.For reuses a surviving key's region and never re-runs its body, so a position captured by a lambda is the position that row had when its key first appeared — right until anything moves, and silently wrong afterwards. A signal the reconciler writes on each pass is re-read by whatever in the body read it, and a row that did not move costs an equality check.

  • public int? ExitAfter

    How long a removed row is kept, in whole milliseconds, or null to remove it at once.

  • public string? ExitClass

    The class a leaving row wears, or null to take ExitSpec's own default.

  • public ImmutableArray<BoundNode> Empty

    The @empty arm's content; empty when the loop declares none.

Methods (1)

Used by (4)

  • BinderVixen.Ui.Markup
  • BinderTestsVixen.Ui.Markup.Tests
  • ComponentEmitterVixen.Ui.Markup
  • PreviewCodeEditorViewVixen.Editor.AssetEditors