A context passed to constructors and Initialize(InitializationContext) methods to coordinate post-initialization behavior. Carries the caller's intent, aspect behavior slots, and optional metadata.
Namespace: Metalama.Framework.RunTime.Initialization
Assembly: Metalama.Framework.dll
Syntax
public readonly struct InitializationContextRemarks
This struct is 16 bytes on x64 (no wasted padding): a CallerIntent byte,
a uint slot bitmask, and an optional InitializationMetadata reference.
default(InitializationContext) is valid and equivalent to Default:
Intent is None, no slots, no metadata.
Properties
| Name | Description |
|---|---|
| Default | The default context — None, no slots, no metadata. |
| Intent | The caller's intent regarding Initialize(InitializationContext) invocation. |
| Metadata | Optional metadata describing the initialization context. Typically a singleton.
Returns |
| Modify | A context for |
| WillCallOnInitialized | Whether Initialize(InitializationContext) will be called by the caller.
|
| WillInitialize | A context signaling that the caller will call Initialize(InitializationContext) after construction (e.g., after an object initializer). |
Methods
| Name | Description |
|---|---|
| Create(InitializationMetadata) | Creates a context with the given metadata. Used when calling Initialize(InitializationContext)
directly (not via a constructor), e.g., after deserialization or a |
| Descend(InitializationSlot) | Returns a copy of the current context with the given slots added to the handled set, suitable for
passing to |
| IsHandled(InitializationSlot) | Returns |