Castle.MicroKernel.ComponentActivator.AbstractComponentActivator
Abstract implementation of IComponentActivator. The implementors must only override the InternalCreate and InternalDestroy methods in order to perform their creation and destruction
logic.
namespace Castle.MicroKernel.ComponentActivator
{
public abstract class AbstractComponentActivator : IComponentActivator
{
public IKernelInternal Kernel { get; }
public ComponentModel Model { get; }
public ComponentInstanceDelegate OnCreation { get; }
public ComponentInstanceDelegate OnDestruction { get; }
protected AbstractComponentActivator(ComponentModel model, IKernelInternal kernel, ComponentInstanceDelegate onCreation, ComponentInstanceDelegate onDestruction);
protected abstract object InternalCreate(CreationContext context);
protected abstract void InternalDestroy(object instance);
public virtual object Create(CreationContext context, Burden burden);
public virtual void Destroy(object instance);
protected virtual void ApplyCommissionConcerns(object instance);
protected virtual void ApplyConcerns(IEnumerable<ICommissionConcern> steps, object instance);
protected virtual void ApplyConcerns(IEnumerable<IDecommissionConcern> steps, object instance);
protected virtual void ApplyDecommissionConcerns(object instance);
}
}