/// <summary> /// Construct a build plan. /// </summary> /// <param name="context">The current build context.</param> /// <param name="buildKey">The current build key.</param> /// <returns>The created build plan.</returns> public IBuildPlanPolicy CreatePlan(IBuilderContext context, object buildKey) { DynamicBuildPlanGenerationContext generatorContext = new DynamicBuildPlanGenerationContext( BuildKey.GetType(buildKey)); IBuilderContext planContext = GetContext(context, buildKey, generatorContext); planContext.Strategies.ExecuteBuildUp(planContext); return(new DynamicMethodBuildPlan(generatorContext.GetBuildMethod())); }
/// <summary> /// Construct a build plan. /// </summary> /// <param name="context">The current build context.</param> /// <param name="buildKey">The current build key.</param> /// <returns>The created build plan.</returns> public IBuildPlanPolicy CreatePlan(IBuilderContext context, object buildKey) { DynamicBuildPlanGenerationContext generatorContext = new DynamicBuildPlanGenerationContext( BuildKey.GetType(buildKey)); IBuilderContext planContext = GetContext(context, buildKey, generatorContext); planContext.Strategies.ExecuteBuildUp(planContext); return new DynamicMethodBuildPlan(generatorContext.GetBuildMethod()); }
/// <summary> /// Construct a build plan. /// </summary> /// <param name="context">The current build context.</param> /// <param name="buildKey">The current build key.</param> /// <returns>The created build plan.</returns> public IBuildPlanPolicy CreatePlan(IBuilderContext context, NamedTypeBuildKey buildKey) { IDynamicBuilderMethodCreatorPolicy methodCreatorPolicy = context.Policies.Get<IDynamicBuilderMethodCreatorPolicy>(context.BuildKey); DynamicBuildPlanGenerationContext generatorContext = new DynamicBuildPlanGenerationContext( buildKey.Type, methodCreatorPolicy); IBuilderContext planContext = GetContext(context, buildKey, generatorContext); planContext.Strategies.ExecuteBuildUp(planContext); return new DynamicMethodBuildPlan(generatorContext.GetBuildMethod()); }
/// <summary> /// Construct a build plan. /// </summary> /// <param name="context">The current build context.</param> /// <param name="buildKey">The current build key.</param> /// <returns>The created build plan.</returns> public IBuildPlanPolicy CreatePlan(IBuilderContext context, NamedTypeBuildKey buildKey) { IDynamicBuilderMethodCreatorPolicy methodCreatorPolicy = context.Policies.Get <IDynamicBuilderMethodCreatorPolicy>(context.BuildKey); DynamicBuildPlanGenerationContext generatorContext = new DynamicBuildPlanGenerationContext( buildKey.Type, methodCreatorPolicy); IBuilderContext planContext = GetContext(context, buildKey, generatorContext); planContext.Strategies.ExecuteBuildUp(planContext); return(new DynamicMethodBuildPlan(generatorContext.GetBuildMethod())); }