Stashbox by Peter Csajtai

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

 ServiceRegistration

public bool HasCondition { get; }

public bool HasName { get; }

public bool HasScopeName { get; }

public Type ImplementationType { get; }

public bool IsDecorator { get; }

public bool IsResolvableByUnnamedRequest { get; }

public object RegistrationId { get; }

public int RegistrationNumber { get; }

public bool ShouldHandleDisposal { get; }

public bool CanInjectIntoNamedScope(ISet<object> scopeNames)

public IServiceRegistration Clone(Type implementationType, IObjectBuilder objectBuilder)

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

public bool ValidateGenericConstraints(Type type)