Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="2.9.0-preview-517" />

 IServiceRegistration

public interface IServiceRegistration
Represents a service registration.

Holds the constructors of the service.

bool HasCondition { get; }

True if the registration contains any condition, otherwise false.

bool HasName { get; }

True if the registration has a name set.

bool HasScopeName { get; }

True if the registration is restricted to a named scope.

The implementation type.

Holds the injection member of the service.

Holds the injection methods of the service.

bool IsDecorator { get; }

True if the registration is a decorator.

True if the registration can used by an unnamed resolution request.

The registration context.

object RegistrationId { get; }

The registration id.

int RegistrationNumber { get; }

The registration number.

Holds the information about the constructor, selected by the user at configuration time.

bool ShouldHandleDisposal { get; }

True if the registration contains a disposable service which should be tracked.

bool CanInjectIntoNamedScope(ISet<object> scopeNames)

Checks that the registration can be injected into a named scope.

IServiceRegistration Clone(Type implementationType, IObjectBuilder objectBuilder)

Clones the registration with new underlying type.

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

Creates an expression for creating the resolved instance.

Checks whether the registration can be used for a current resolution.

Validates that the given type's generic argument fulfills the generic constraint or not