Marks a type as having a post-initialization hook. The Initialize(InitializationContext) method
is called after all constructors and object/collection initializers have completed,
ensuring that all properties (including init-only and required members)
are set before validation or derived value computation runs.
Namespace: Metalama.Framework.RunTime.Initialization
Assembly: Metalama.Framework.dll
Syntax
public interface IInitializableRemarks
The Metalama Linker automatically rewrites call sites (new T(), new T { ... },
with { ... }) to invoke WithInitialize<T>(T, InitializationMetadata?) after construction.
Implementing classes should declare Initialize(InitializationContext) as public virtual
(or override) on non-sealed classes to allow derived types to extend initialization behavior.
Methods
| Name | Description |
|---|---|
| Initialize(InitializationContext) | Called after all constructors and object/collection initializers have completed. |