<PackageReference Include="Castle.Windsor" Version="2.5.3" />

CreationContext

Used during a component request, passed along to the whole process. This allow some data to be passed along the process, which is used to detected cycled dependency graphs and now it's also being used to provide arguments to components.

public static CreationContext Empty { get; }

Creates a new, empty CreationContext instance.

public Type[] GenericArguments { get; }

public IHandler Handler { get; }

public bool HasAdditionalParameters { get; }

public IReleasePolicy ReleasePolicy { get; }

public CreationContext(Type typeToExtractGenericArguments, CreationContext parentContext, bool propagateInlineDependencies)

Initializes a new instance of the CreationContext class.

public CreationContext(IHandler handler, IReleasePolicy releasePolicy, Type typeToExtractGenericArguments, IDictionary additionalArguments, ITypeConverter conversionManager, CreationContext parent)

Initializes a new instance of the CreationContext class.

public void AddContextualProperty(object key, object value)

public virtual bool CanResolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)

public ResolutionContext EnterResolutionContext(IHandler handlerBeingResolved)

public ResolutionContext EnterResolutionContext(IHandler handlerBeingResolved, bool createBurden)

public object GetContextualProperty(object key)

public bool IsInResolutionContext(IHandler handler)

Method used by handlers to test whether they are being resolved in the context.

public virtual object Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)