Vixen
02b45cc4
csharp
public interface IComposable

What a capitalised markup tag is allowed to name.

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

Remarks

Two things answer to it and there will not be a third: a Component, which is what a .vxml compiles to, and a UiElement, which is what the control library is made of. <ProgressBar /> and <Counter /> are written the same way and mean different things, and the difference is settled by C# overload resolution at the use site rather than by the markup compiler — which resolves no types at all, deliberately.

⚠ An empty interface, and it is carrying its weight. Child``1 could take where T : new() and sort the two out at runtime; the constraint is what makes <Stopwatch /> — a real type that is neither — a compile error on the tag the author wrote, which is the whole bargain the markup channel is built on.

Used by (3)

  • BuildContextVixen.Ui
  • ComponentVixen.Ui
  • UiElementVixen.Ui