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)
        {
        }
    }
}