Vixen
02b45cc4
csharp
public static class RealmApp

The one line a realm's Program.cs usually is.

Read the guide page for this →

Remarks

return RealmApp.Run<MyRealm>(args); and nothing else — VixenApp.Run's shape, with a spec read from the command line first.

⚠ Doc 27 writes this as VixenApp.RunRealm<MyRealm>, and it cannot be. VixenApp lives in Tools/Vixen.App, which sits below Live/: adding a member there would need Vixen.App to reference Vixen.Live.Realm, which is the layer rule in the wrong direction, and a static class cannot be extended from outside. So the entry point moved rather than the layering, and it mirrors the original call for call.

The sequence is public at every step, for the reason doc 17 gives about the host in general: a realm that wants control reads the spec itself, calls Bind, and builds an AppBuilder — which is exactly what Run``1 does and all it does.

Fields and properties (1)

  • public const int NotARealmExitCode

    What a process that was handed no spec exits with.

Methods (2)

  • public static int Run<TRealm>(string[]? arguments = null) where TRealm : Realm, new()

    Reads the spec, builds the application and runs it.

  • public static AppBuilder Create(string[]? arguments = null)

    Starts configuring a realm, on the backends Vixen.App ships.