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