Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.1.0-preview-532" />

 IServiceRegistration

public interface IServiceRegistration
bool HasCondition { get; }

bool HasScopeName { get; }

bool IsDecorator { get; }

int RegistrationId { get; }

object RegistrationName { get; }

bool ShouldHandleDisposal { get; }

bool CanInjectIntoNamedScope(IEnumerable<object> scopeNames)

IServiceRegistration Clone(Type implementationType, IObjectBuilder objectBuilder)

Expression GetExpression(IContainerContext containerContext, ResolutionContext resolutionContext, Type resolveType)

void Replaces(IServiceRegistration serviceRegistration)