ResolveInvocation
using Castle.MicroKernel.Context;
using System;
namespace Castle.MicroKernel.Handlers
{
    public class ResolveInvocation
    {
        private bool decommissionRequired;
        private Action proceed;
        public Burden Burden { get; set; }
        public CreationContext Context { get; set; }
        public bool InstanceRequired { get; set; }
        public object ResolvedInstance { get; set; }
        internal bool DecommissionRequired => decommissionRequired;
        public ResolveInvocation(CreationContext context, bool instanceRequired)
        {
            Context = context;
            InstanceRequired = instanceRequired;
        }
        public void Proceed()
        {
            proceed();
        }
        public void RequireDecommission()
        {
            decommissionRequired = true;
        }
        internal void SetProceedDelegate(Action value)
        {
            proceed = value;
        }
    }
}