| File: System\Composition\ExportFactoryOfTTMetadata.cs | Web Access |
| Project: src\runtime\src\libraries\System.Composition.Runtime\src\System.Composition.Runtime.csproj (System.Composition.Runtime) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace System.Composition { /// <summary> /// An ExportFactory that provides metadata describing the created exports. /// </summary> /// <typeparam name="T">The contract type being created.</typeparam> /// <typeparam name="TMetadata">The metadata required from the export.</typeparam> public class ExportFactory<T, TMetadata> : ExportFactory<T> { /// <summary> /// Construct an ExportFactory. /// </summary> /// <param name="exportCreator">Action invoked upon calls to the Create() method.</param> /// <param name="metadata">The metadata associated with the export.</param> public ExportFactory(Func<Tuple<T, Action>> exportCreator, TMetadata metadata) : base(exportCreator) { Metadata = metadata; } /// <summary> /// The metadata associated with the export. /// </summary> public TMetadata Metadata { get; } } }