Пример #1
0
        public static IPipelineGraph For(Action <ConfigurationExpression> action)
        {
            var expression = new ConfigurationExpression();

            action(expression);

            var graph = expression.BuildGraph();

            return(BuildRoot(graph));
        }
Пример #2
0
        public static RootPipelineGraph For(Action <ConfigurationExpression> action)
        {
            var expression = new ConfigurationExpression();

            action(expression);

            PluginGraph graph = expression.BuildGraph();

            return(new RootPipelineGraph(graph));
        }
Пример #3
0
        /// <summary>
        /// Used to add additional configuration to a Container *after* the initialization.
        /// </summary>
        /// <param name="configure"></param>
        public void Configure(Action <ConfigurationExpression> configure)
        {
            lock (this)
            {
                var registry = new ConfigurationExpression();
                configure(registry);

                PluginGraph graph = registry.BuildGraph();

                graph.Log.AssertFailures();

                _interceptorLibrary.ImportFrom(graph.InterceptorLibrary);
                _pipelineGraph.ImportFrom(graph);
            }
        }
Пример #4
0
        public Container(Action <ConfigurationExpression> action)
        {
            var expression = new ConfigurationExpression();

            action(expression);

            // As explained later in the article,
            // PluginGraph is part of the Semantic Model
            // of StructureMap
            PluginGraph graph = expression.BuildGraph();

            // Take the PluginGraph object graph and
            // dynamically emit classes to build the
            // configured objects
            construct(graph);
        }