Compono.ICompositionValueProvider.TryProvide(Compono.CompositionProviderRequest,Compono.ICompositionContext)
Compono¶
Compono.ICompositionValueProvider¶
ICompositionValueProvider.TryProvide(CompositionProviderRequest, ICompositionContext) Method¶
Attempts to produce a value for request. Returns NotHandled for any request this provider doesn't apply to, so a later provider or pipeline stage still gets a chance - never throws for an expected non-match.
Compono.CompositionProviderResult TryProvide(in Compono.CompositionProviderRequest request, Compono.ICompositionContext context);
Parameters¶
request CompositionProviderRequest
The request to attempt.
context ICompositionContext
The active composition context - a provider may call context.Resolve<T>() to compose part of its value from a nested request, exactly as an internal provider already may (docs/architecture.md's Providers section). Asking this same provider to resolve the exact same requested type again (a genuine cycle, not an ordinary nested request for a different type) is detected and reported as a diagnosed CompositionException rather than recursing indefinitely - see docs/adr/0024-public-provider-extensibility-model.md's Amendment 1.