ReadonlyaskQuick picks, input boxes and the wizard. Resolved on first access.
ReadonlycommandsInvoking commands, this application's and the platform's. Resolved on first access.
ReadonlyeditorsReading and editing text. Resolved on first access.
ReadonlyidUnique within the application run.
ReadonlykindWhat kind of work this is.
Readonlyl10nThe display language, and formatting for it. Resolved on first access.
ReadonlyloggerLogger pre-populated with the operation's fields.
ReadonlynameDescriptor name, for example the command id.
ReadonlynotifyMessages and confirmations. Resolved on first access.
ReadonlyprogressProgress sessions for this operation. Headless (no UI, operation signal passthrough) when the application has no progress capability.
ReadonlyresourcesDisposed after the Operation settles and owns disposable transients resolved
through services. Its own ResourceScope.signal is inherited unchanged
from the parent scope; use context.signal for the combined Application,
caller and timeout cancellation sources.
ReadonlyservicesResolves services, owning disposable transients in this operation's scope.
ReadonlysignalAborts on application stop, caller cancellation or timeout.
ReadonlystartedMilliseconds since the epoch when the operation started.
ReadonlystatusShort-lived status bar messages. Resolved on first access.
Execution context for one bounded unit of Application work.
Identity, cancellation, a scope, a logger, timing — and the handful of services a handler body almost always reaches for. Those last are resolved lazily on first access, so an application that never notifies never builds a notifier, and one running without a quick-input capability only finds out if it asks.
The standard service properties are shorthand, not a second service graph:
context.notify, for example, resolves the exactNotificationstoken that an explicitinjectwould.context.loggeris different by design: it is a child logger enriched with this Operation's fields, whereas resolvingLogoutside an Operation gives the Application logger. Declare token dependencies withinjectwhere there is no context to read — a service factory, hosted service or tree-view provider.Example