/// <summary> /// Adds the instane of registered type that will be used when resolving. /// </summary> /// <param name="resolvableItemRegistrationBase">The resolvable item registration base.</param> /// <param name="instance">The instance factory.</param> /// <returns></returns> public static ConcreteItemRegistrationBase As <TConcreteType>( this ConcreteItemRegistrationBase resolvableItemRegistrationBase, TConcreteType instance) { resolvableItemRegistrationBase.OwnFactory = ctx => instance; return(resolvableItemRegistrationBase); }
/// <summary> /// Adds function that creates instances of registered type. /// </summary> /// <param name="resolvableItemRegistrationBase">The resolvable item base.</param> /// <param name="instanceFactory">The instance factory.</param> /// <returns>Type registration base.</returns> public static ConcreteItemRegistrationBase As <TConcreteType>( this ConcreteItemRegistrationBase resolvableItemRegistrationBase, Func <ActivationContext, TConcreteType> instanceFactory) { resolvableItemRegistrationBase.OwnFactory = instanceFactory != null ? context => instanceFactory(context) : (Func <ActivationContext, object>)null; return(resolvableItemRegistrationBase); }