Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="5.5.2-preview-768" />

 IServiceWrapper

public interface IServiceWrapper : IResolver
Represents a wrapper that can wrap a service.
using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Stashbox.Resolution { public interface IServiceWrapper : IResolver { [System.Runtime.CompilerServices.NullableContext(1)] Expression WrapExpression(TypeInformation originalTypeInformation, TypeInformation wrappedTypeInformation, ServiceContext serviceContext); bool TryUnWrap(TypeInformation typeInformation, out TypeInformation unWrappedType); } }