Skip to content

Compono.NSubstituteProvider.TryProvide(Compono.CompositionProviderRequest,Compono.ICompositionContext)

Compono.NSubstitute

Compono.NSubstituteProvider

NSubstituteProvider.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.

public 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.

Implements TryProvide(CompositionProviderRequest, ICompositionContext)

Returns

CompositionProviderResult