public ExportDescriptorRegistryUpdate( IDictionary<CompositionContract, ExportDescriptor[]> partDefinitions, ExportDescriptorProvider[] exportDescriptorProviders) { _partDefinitions = partDefinitions; _exportDescriptorProviders = exportDescriptorProviders; }
public bool TryDequeueNextProvider(out ExportDescriptorProvider provider) { if (_remainingProviders.Count == 0) { provider = null; return(false); } provider = _remainingProviders.Dequeue(); return(true); }
public bool TryDequeueNextProvider(out ExportDescriptorProvider provider) { if (_remainingProviders.Count == 0) { provider = null; return false; } provider = _remainingProviders.Dequeue(); return true; }
/// <summary> /// Create the composition host. /// </summary> /// <returns>The container as an <see cref="CompositionHost"/>.</returns> public static CompositionHost CreateCompositionHost(IEnumerable<ExportDescriptorProvider> providers) { Requires.NotNull(providers, "providers"); var allProviders = new ExportDescriptorProvider[] { new LazyExportDescriptorProvider(), new ExportFactoryExportDescriptorProvider(), new ImportManyExportDescriptorProvider(), new LazyWithMetadataExportDescriptorProvider(), new CurrentScopeExportDescriptorProvider(), new ExportFactoryWithMetadataExportDescriptorProvider() } .Concat(providers) .ToArray(); var container = new LifetimeContext(new ExportDescriptorRegistry(allProviders), s_noBoundaries); return new CompositionHost(container); }
public ExportDescriptorRegistry(ExportDescriptorProvider[] exportDescriptorProviders) { _exportDescriptorProviders = exportDescriptorProviders; }