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