Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="5.9.1" />

 IParameterizedWrapper

public interface IParameterizedWrapper : IResolver
Represents a wrapper that can wrap a service with function parameters.
using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Stashbox.Resolution { [System.Runtime.CompilerServices.NullableContext(1)] public interface IParameterizedWrapper : IResolver { Expression WrapExpression(TypeInformation originalTypeInformation, TypeInformation wrappedTypeInformation, ServiceContext serviceContext, IEnumerable<ParameterExpression> parameterExpressions); bool TryUnWrap(TypeInformation typeInformation, out TypeInformation unWrappedType, out IEnumerable<Type> parameterTypes); } }