ExternalInstanceActivator
using Castle.Core;
using Castle.MicroKernel.Context;
namespace Castle.MicroKernel.ComponentActivator
{
public class ExternalInstanceActivator : AbstractComponentActivator, IDependencyAwareActivator
{
public ExternalInstanceActivator(ComponentModel model, IKernelInternal kernel, ComponentInstanceDelegate onCreation, ComponentInstanceDelegate onDestruction)
: base(model, kernel, onCreation, onDestruction)
{
}
public bool CanProvideRequiredDependencies(ComponentModel component)
{
return true;
}
public bool IsManagedExternally(ComponentModel component)
{
return true;
}
protected override object InternalCreate(CreationContext context)
{
return base.Model.ExtendedProperties["instance"];
}
protected override void InternalDestroy(object instance)
{
}
}
}