コード例 #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="BuildEngine" /> class.
        ///     Initialisiert eine neue Instanz der <see cref="BuildEngine" /> Klasse.
        ///     Initializes a new instance of the <see cref="BuildEngine" /> class.
        /// </summary>
        /// <param name="container">
        ///     The container.
        /// </param>
        /// <param name="providerRegistry">
        ///     The provider registry.
        /// </param>
        /// <param name="componentRegistry">
        ///     The component registry.
        /// </param>
        public BuildEngine(
            IContainer container,
            ExportProviderRegistry providerRegistry,
            ComponentRegistry componentRegistry)
        {
            Contract.Requires<ArgumentNullException>(container != null, "container");
            Contract.Requires<ArgumentNullException>(providerRegistry != null, "providerRegistry");
            Contract.Requires<ArgumentNullException>(componentRegistry != null, "componentRegistry");

            this.container = container;
            _componentRegistry = componentRegistry;
            _factory =
                componentRegistry.GetAll<IExportFactory>()
                                 .First(fac => fac.TechnologyName == AopConstants.DefaultExportFactoryName)
                                 .CastObj<DefaultExportFactory>();
            pipeline = new Pipeline(componentRegistry);
            rebuildManager = new RebuildManager();
            providerRegistry.ExportsChanged += ExportsChanged;
        }
コード例 #2
0
 /// <summary>
 ///     The initialize.
 /// </summary>
 /// <param name="components">
 ///     The components.
 /// </param>
 public override void Initialize(ComponentRegistry components)
 {
     _eventManager = components.Get<IEventManager>();
     _factory = components.Get<IMetadataFactory>();
     _interceptorFactories = components.GetAll<IImportInterceptorFactory>().ToArray();
 }