Example #1
0
        /// <summary>
        /// Export Factory Interface
        /// </summary>
        /// <typeparam name="T">factory interface</typeparam>
        /// <param name="block">registration block</param>
        /// <returns></returns>
        public static IExportRegistrationBlock ExportFactory <T>(this IExportRegistrationBlock block)
        {
            block.AddActivationStrategy(new DynamicFactoryStrategy(typeof(T), block.OwningScope));

            return(block);
        }
Example #2
0
 public static void ExportDecoratorFactory <T, TResult>(this IExportRegistrationBlock registrationBlock,
                                                        Func <T, TResult> factory)
 {
     registrationBlock.AddActivationStrategy(new CompiledFactoryDecoratorStrategy <TResult>(factory, registrationBlock.OwningScope));
 }
 /// <summary>
 /// Directly export a function with no decoratory, no testing for null, no lifestyle.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="block"></param>
 /// <param name="func"></param>
 public static void ExportFunc <T>(this IExportRegistrationBlock block, Func <IExportLocatorScope, T> func)
 {
     block.AddActivationStrategy(new SimpleFuncExportStrategy <T>(func, block.OwningScope));
 }