AbstractLifestyleManager
Summary description for AbstractLifestyleManager.
using Castle.Core;
using Castle.MicroKernel.Context;
using System;
namespace Castle.MicroKernel.Lifestyle
{
[Serializable]
public abstract class AbstractLifestyleManager : ILifestyleManager, IDisposable
{
private IKernel kernel;
private IComponentActivator componentActivator;
private ComponentModel model;
protected IKernel Kernel => kernel;
protected IComponentActivator ComponentActivator => componentActivator;
protected ComponentModel Model => model;
public virtual void Init(IComponentActivator componentActivator, IKernel kernel, ComponentModel model)
{
this.componentActivator = componentActivator;
this.kernel = kernel;
this.model = model;
}
public virtual object Resolve(CreationContext context)
{
return componentActivator.Create(context);
}
public virtual bool Release(object instance)
{
componentActivator.Destroy(instance);
return true;
}
public abstract void Dispose();
}
}