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

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 Type[] GenericArguments { get; }

public IHandler Handler { get; }

public bool HasAdditionalArguments { get; }

public virtual bool IsResolving { get; }

public IReleasePolicy ReleasePolicy { get; set; }

public Type RequestedType { get; }

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

Initializes a new instance of the CreationContext class.

public CreationContext(IHandler handler, IReleasePolicy releasePolicy, Type requestedType, IDictionary additionalArguments, ITypeConverter converter, CreationContext parent)

Initializes a new instance of the CreationContext class.

public static CreationContext CreateEmpty()

Creates a new, empty CreationContext instance.

public void AttachExistingBurden(Burden burden)

public void BuildCycleMessageFor(IHandler duplicateHandler, StringBuilder message)

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

public Burden CreateBurden(IComponentActivator componentActivator, bool trackedExternally)

public ResolutionContext EnterResolutionContext(IHandler handlerBeingResolved, bool requiresDecommission)

public ResolutionContext EnterResolutionContext(IHandler handlerBeingResolved, bool trackContext, bool requiresDecommission)

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)

public ResolutionContext SelectScopeRoot(Func<IHandler[], IHandler> scopeRootSelector)

public void SetContextualProperty(object key, object value)