public override IFrameworkContainer RegisterType <TContract>(Type implementType, LifetimeFlag flag)
        {
            var lifetime = LifetimeMapping.GetLifetimeObject(flag);

            ContainerObject.Register(Component.For <TContract>().ImplementedBy(implementType).LifeStyle.Custom(lifetime));
            return(this);
        }
        public override IFrameworkContainer RegisterInstance <TContract>(string key, TContract @object, LifetimeFlag flag)
        {
            var lifetime = LifetimeMapping.GetLifetimeObject(flag);

            ContainerObject.Register(Component.For <TContract>().Instance(@object).LifeStyle.Custom(lifetime).Named(key));
            return(this);
        }
 /// <summary>
 ///     타입을 <see cref="IFrameworkContainer"/> 에 등록합니다.
 /// </summary>
 /// <typeparam name="T">	등록되는 개체의 타입입니다. </typeparam>
 /// <returns>
 ///     개체 등록을 마친 후 현재의 <see cref="IFrameworkContainer"/> 를 반환합니다.
 /// </returns>
 public override IFrameworkContainer RegisterType <T>()
 {
     ContainerObject.Register(Component.For <T>().ImplementedBy <T>());
     return(this);
 }
 public override IFrameworkContainer RegisterInstance <TContract>(TContract @object)
 {
     ContainerObject.Register(Component.For <TContract>().ImplementedBy <TContract>());
     return(this);
 }
 /// <summary>
 ///     타입을 <see cref="IFrameworkContainer"/> 에 등록합니다.
 /// </summary>
 /// <typeparam name="TContract">	등록되는 개체의 계약 타입입니다. </typeparam>
 /// <typeparam name="TImplements">	등록되는 개체의 구현 타입입니다. </typeparam>
 /// <param name="key">	객체의 키 값입니다. </param>
 /// <returns>
 ///     개체 등록을 마친 후 현재의 <see cref="IFrameworkContainer"/> 를 반환합니다.
 /// </returns>
 public override IFrameworkContainer RegisterType <TContract, TImplements>(string key)
 {
     ContainerObject.Register(Component.For <TContract>().ImplementedBy <TImplements>());
     return(this);
 }