4 types derived from ExportDefinition
System.ComponentModel.Composition (4)
System\ComponentModel\Composition\AttributedModel\AttributedExportDefinition.cs (1)
12internal sealed class AttributedExportDefinition : ExportDefinition
System\ComponentModel\Composition\ReflectionModel\PartCreatorExportDefinition.cs (1)
10internal sealed class PartCreatorExportDefinition : ExportDefinition
System\ComponentModel\Composition\ReflectionModel\ReflectionMemberExportDefinition.cs (1)
10internal sealed class ReflectionMemberExportDefinition : ExportDefinition, ICompositionElement
System\ComponentModel\Composition\ReflectionModel\ReflectionModelServices.cs (1)
463internal sealed class LazyExportDefinition : ExportDefinition
2 instantiations of ExportDefinition
System.ComponentModel.Composition (2)
System\ComponentModel\Composition\Primitives\Export.cs (2)
59: this(new ExportDefinition(contractName, (IDictionary<string, object?>?)null), exportedValueGetter) 92: this(new ExportDefinition(contractName, metadata), exportedValueGetter)
222 references to ExportDefinition
System.ComponentModel.Composition (222)
System\ComponentModel\Composition\AttributedModel\AttributedPartCreationInfo.cs (5)
23private List<ExportDefinition>? _exports; 61public IEnumerable<ExportDefinition> GetExports() 255private List<ExportDefinition> GetExportDefinitions() 257List<ExportDefinition> exports = new List<ExportDefinition>();
System\ComponentModel\Composition\ConstraintServices.cs (11)
16private static readonly PropertyInfo _exportDefinitionContractNameProperty = typeof(ExportDefinition).GetProperty("ContractName")!; 17private static readonly PropertyInfo _exportDefinitionMetadataProperty = typeof(ExportDefinition).GetProperty("Metadata")!; 23public static Expression<Func<ExportDefinition, bool>> CreateConstraint(string contractName, string? requiredTypeIdentity, IEnumerable<KeyValuePair<string, Type>> requiredMetadata, CreationPolicy requiredCreationPolicy) 25ParameterExpression parameter = Expression.Parameter(typeof(ExportDefinition), "exportDefinition"); 52Expression<Func<ExportDefinition, bool>> constraint = Expression.Lambda<Func<ExportDefinition, bool>>(constraintBody, parameter); 186public static Expression<Func<ExportDefinition, bool>> CreatePartCreatorConstraint(Expression<Func<ExportDefinition, bool>> baseConstraint, ImportDefinition productImportDefinition) 208Expression.Convert(productExportDefinitionExpression, typeof(ExportDefinition))); 213Expression<Func<ExportDefinition, bool>> constraint = 214Expression.Lambda<Func<ExportDefinition, bool>>(
System\ComponentModel\Composition\ErrorBuilder.cs (1)
77public static CompositionError CreateCannotGetExportedValue(ComposablePart part, ExportDefinition definition, Exception innerException)
System\ComponentModel\Composition\ExceptionBuilder.cs (1)
78public static CompositionException CreateCannotGetExportedValue(ComposablePart part, ExportDefinition definition, Exception innerException)
System\ComponentModel\Composition\Hosting\AggregateCatalog.cs (6)
105/// <see cref="ExportDefinition"/> objects to return. 109/// <see cref="ExportDefinition"/> objects and their associated 119public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition) 127IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>>? result = null; 128List<Tuple<ComposablePartDefinition, ExportDefinition>>? aggregateResult = null; 145aggregateResult = new List<Tuple<ComposablePartDefinition, ExportDefinition>>(result);
System\ComponentModel\Composition\Hosting\ApplicationCatalog.cs (3)
141/// <see cref="ExportDefinition"/> objects to return. 145/// <see cref="ExportDefinition"/> objects and their associated 155public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
System\ComponentModel\Composition\Hosting\AssemblyCatalog.cs (4)
404/// <see cref="ExportDefinition"/> objects to return. 408/// <see cref="ExportDefinition"/> objects and their associated 421/// <see cref="ExportDefinition"/> match the conditions defined by 425public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogChangeProxy.cs (4)
33public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports( 42var addedExports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>(); 45foreach (var export in part.ExportDefinitions) 49addedExports.Add(new Tuple<ComposablePartDefinition, ExportDefinition>(part, export));
System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogExport.cs (5)
16protected readonly ExportDefinition _definition; 19ComposablePartDefinition partDefinition, ExportDefinition definition) 26public override ExportDefinition Definition 63ComposablePartDefinition partDefinition, ExportDefinition definition, CreationPolicy importCreationPolicy) 125ComposablePartDefinition partDefinition, ExportDefinition definition)
System\ComponentModel\Composition\Hosting\CatalogExportProvider.cs (12)
343private Export CreateExport(ComposablePartDefinition partDefinition, ExportDefinition exportDefinition, bool isExportFactory, CreationPolicy importPolicy) 365private static ExportDefinition[] GetExportsFromPartDefinitions(IEnumerable<ComposablePartDefinition> partDefinitions) 367List<ExportDefinition> exports = new List<ExportDefinition>(); 371foreach (var export in partDefinition.ExportDefinitions) 397IEnumerable<ExportDefinition> addedExports = GetExportsFromPartDefinitions(e.AddedDefinitions); 398IEnumerable<ExportDefinition> removedExports = GetExportsFromPartDefinitions(e.RemovedDefinitions); 508private object? GetExportedValue(CatalogPart part, ExportDefinition export, bool isSharedPart) 784private void UpdateRejections(IEnumerable<ExportDefinition> changedExports, AtomicComposition? atomicComposition) 818var resurrectedExports = new List<ExportDefinition>(); 847new ExportsChangeEventArgs(resurrectedExports, Array.Empty<ExportDefinition>(), localAtomicComposition)); 850new ExportsChangeEventArgs(resurrectedExports, Array.Empty<ExportDefinition>(), null)));
System\ComponentModel\Composition\Hosting\CatalogExportProvider.FactoryExport.cs (10)
16private readonly ExportDefinition _exportDefinition; 17private readonly ExportDefinition _factoryExportDefinition; 20public FactoryExport(ComposablePartDefinition partDefinition, ExportDefinition exportDefinition) 27public override ExportDefinition Definition 43protected ExportDefinition UnderlyingExportDefinition 62public override IEnumerable<ExportDefinition> ExportDefinitions 64get { return new ExportDefinition[] { _FactoryExport.Definition }; } 72public ExportDefinition FactoryExportDefinition 99public override IEnumerable<ExportDefinition> ExportDefinitions 109public override object? GetExportedValue(ExportDefinition definition)
System\ComponentModel\Composition\Hosting\CatalogExportProvider.PartCreatorExport.cs (1)
14public PartCreatorExport(CatalogExportProvider catalogExportProvider, ComposablePartDefinition partDefinition, ExportDefinition exportDefinition) :
System\ComponentModel\Composition\Hosting\CatalogExportProvider.ScopeFactoryExport.cs (2)
17internal ScopeFactoryExport(ScopeManager scopeManager, CompositionScopeDefinition catalog, ComposablePartDefinition partDefinition, ExportDefinition exportDefinition) : 41public override ExportDefinition Definition
System\ComponentModel\Composition\Hosting\CatalogExportProvider.ScopeManager.cs (1)
68private ScopeFactoryExport CreateScopeExport(CompositionScopeDefinition childCatalog, ComposablePartDefinition partDefinition, ExportDefinition exportDefinition)
System\ComponentModel\Composition\Hosting\ComposablePartExportProvider.cs (7)
220foreach (var exportDefinition in part.ExportDefinitions) 365IEnumerable<ExportDefinition> addedExports = batch.PartsToAdd.Count != 0 ? 367Array.Empty<ExportDefinition>(); 369IEnumerable<ExportDefinition> removedExports = batch.PartsToRemove.Count != 0 ? 371Array.Empty<ExportDefinition>(); 380private Export CreateExport(ComposablePart part, ExportDefinition export) 385private object? GetExportedValue(ComposablePart part, ExportDefinition export)
System\ComponentModel\Composition\Hosting\CompositionBatch.SingleExportComposablePart.cs (3)
30public override IEnumerable<ExportDefinition> ExportDefinitions 32get { return new ExportDefinition[] { _export.Definition }; } 40public override object? GetExportedValue(ExportDefinition definition)
System\ComponentModel\Composition\Hosting\CompositionScopeDefinition.cs (12)
17private IEnumerable<ExportDefinition>? _publicSurface; 45public CompositionScopeDefinition(ComposablePartCatalog catalog, IEnumerable<CompositionScopeDefinition> children, IEnumerable<ExportDefinition> publicSurface) 60private void InitializeCompositionScopeDefinition(ComposablePartCatalog catalog, IEnumerable<CompositionScopeDefinition>? children, IEnumerable<ExportDefinition>? publicSurface) 123/// An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/> objects describing 131public virtual IEnumerable<ExportDefinition> PublicSurface 159/// <see cref="ExportDefinition"/> objects to return.</param> 162/// <see cref="ExportDefinition"/> objects and their associated 175/// <see cref="ExportDefinition"/> match the conditions defined by 179public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition) 187internal IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExportsFromPublicSurface(ImportDefinition definition) 191var exports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>(); 193foreach (var exportDefinition in PublicSurface)
System\ComponentModel\Composition\Hosting\CompositionScopeDefinitionDebuggerProxy.cs (1)
30public IEnumerable<ExportDefinition> PublicSurface
System\ComponentModel\Composition\Hosting\CompositionServices.cs (1)
532internal static object? GetExportedValueFromComposedPart(ImportEngine? engine, ComposablePart part, ExportDefinition definition)
System\ComponentModel\Composition\Hosting\DirectoryCatalog.cs (3)
508/// <see cref="ExportDefinition"/> objects to return. 512/// <see cref="ExportDefinition"/> objects and their associated 522public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
System\ComponentModel\Composition\Hosting\ExportsChangeEventArgs.cs (8)
19private readonly IEnumerable<ExportDefinition> _addedExports; 20private readonly IEnumerable<ExportDefinition> _removedExports; 28/// An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/>s of the exports 32/// An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/>s of the exports 44public ExportsChangeEventArgs(IEnumerable<ExportDefinition> addedExports, 45IEnumerable<ExportDefinition> removedExports, AtomicComposition? atomicComposition) 62public IEnumerable<ExportDefinition> AddedExports 79public IEnumerable<ExportDefinition> RemovedExports
System\ComponentModel\Composition\Hosting\FilteredCatalog.cs (5)
129/// <see cref="ExportDefinition"/> objects to return.</param> 132/// <see cref="ExportDefinition"/> objects and their associated 145/// <see cref="ExportDefinition"/> match the conditions defined by 149public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition) 154var exports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>();
System\ComponentModel\Composition\Hosting\FilteredCatalog.DependenciesTraversal.cs (2)
39foreach (var export in part.ExportDefinitions) 74foreach (ExportDefinition export in candidateReachablePart.ExportDefinitions)
System\ComponentModel\Composition\Hosting\FilteredCatalog.DependentsTraversal.cs (1)
72foreach (ExportDefinition export in part.ExportDefinitions)
System\ComponentModel\Composition\Hosting\ImportEngine.cs (1)
519IEnumerable<ExportDefinition> changedExports, AtomicComposition? atomicComposition)
System\ComponentModel\Composition\Hosting\ImportEngine.RecompositionManager.cs (3)
50public static IEnumerable<ImportDefinition> GetAffectedImports(ComposablePart part, IEnumerable<ExportDefinition> changedExports) 55private static bool IsAffectedImport(ImportDefinition import, IEnumerable<ExportDefinition> changedExports) 59foreach (var export in changedExports)
System\ComponentModel\Composition\Hosting\ImportSourceImportDefinitionHelpers.cs (2)
68public override Expression<Func<ExportDefinition, bool>> Constraint 83public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition)
System\ComponentModel\Composition\Hosting\ScopingExtensions.cs (1)
24foreach (ExportDefinition export in part.ExportDefinitions)
System\ComponentModel\Composition\Primitives\ComposablePart.cs (5)
25/// An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/> objects describing 47public abstract IEnumerable<ExportDefinition> ExportDefinitions { get; } 133/// One of the <see cref="ExportDefinition"/> objects from the 155/// An error occurred getting the exported value described by the <see cref="ExportDefinition"/>. 157public abstract object? GetExportedValue(ExportDefinition definition);
System\ComponentModel\Composition\Primitives\ComposablePartCatalog.cs (9)
27internal static readonly List<Tuple<ComposablePartDefinition, ExportDefinition>> _EmptyExportsList = new List<Tuple<ComposablePartDefinition, ExportDefinition>>(); 76/// <see cref="ExportDefinition"/> objects to return. 80/// <see cref="ExportDefinition"/> objects and their associated 93/// <see cref="ExportDefinition"/> match the conditions defined by 97public virtual IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition) 103List<Tuple<ComposablePartDefinition, ExportDefinition>>? exports = null; 109if (part.TryGetExports(definition, out Tuple<ComposablePartDefinition, ExportDefinition>? singleMatch, out IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>>? multipleMatches))
System\ComponentModel\Composition\Primitives\ComposablePartDefinition.cs (12)
16internal static readonly IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> _EmptyExports = Enumerable.Empty<Tuple<ComposablePartDefinition, ExportDefinition>>(); 30/// An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/> objects describing 42public abstract IEnumerable<ExportDefinition> ExportDefinitions { get; } 105internal virtual bool TryGetExports(ImportDefinition definition, out Tuple<ComposablePartDefinition, ExportDefinition>? singleMatch, out IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>>? multipleMatches) 110List<Tuple<ComposablePartDefinition, ExportDefinition>>? multipleExports = null; 111Tuple<ComposablePartDefinition, ExportDefinition>? singleExport = null; 113foreach (var export in ExportDefinitions) 120singleExport = new Tuple<ComposablePartDefinition, ExportDefinition>(this, export); 126multipleExports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>(); 129multipleExports.Add(new Tuple<ComposablePartDefinition, ExportDefinition>(this, export));
System\ComponentModel\Composition\Primitives\CompositionElementExtensions.cs (1)
25public static ICompositionElement ToElement(this ExportDefinition definition)
System\ComponentModel\Composition\Primitives\ContractBasedImportDefinition.cs (4)
25private Expression<Func<ExportDefinition, bool>>? _constraint; 272public override Expression<Func<ExportDefinition, bool>> Constraint => 295public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition) 307private bool MatchRequiredMetadata(ExportDefinition definition)
System\ComponentModel\Composition\Primitives\Export.cs (6)
18private readonly ExportDefinition? _definition; 101/// An <see cref="ExportDefinition"/> that describes the contract that the 115public Export(ExportDefinition definition, Func<object?> exportedValueGetter) 128/// An <see cref="ExportDefinition"/> that describes the contract that 140public virtual ExportDefinition Definition 165/// This property returns the value of <see cref="ExportDefinition.Metadata"/>
System\ComponentModel\Composition\Primitives\ExportDefinition.cs (7)
21/// Initializes a new instance of the <see cref="ExportDefinition"/> class. 35/// Initializes a new instance of the <see cref="ExportDefinition"/> class with 40/// <see cref="ExportDefinition"/>. 44/// <see cref="ExportDefinition"/>; or <see langword="null"/> to set the 71/// <see cref="ExportDefinition"/>. 100/// <see cref="ExportDefinition"/>. The default is an empty, read-only 110/// If the <see cref="ExportDefinition"/> does not contain metadata
System\ComponentModel\Composition\Primitives\ImportDefinition.cs (8)
19private readonly Expression<Func<ExportDefinition, bool>>? _constraint; 24private Func<ExportDefinition, bool>? _compiledConstraint; 81public ImportDefinition(Expression<Func<ExportDefinition, bool>> constraint, string? contractName, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite) 89public ImportDefinition(Expression<Func<ExportDefinition, bool>> constraint, string? contractName, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite, IDictionary<string, object?>? metadata) 144/// <see cref="ExportDefinition"/>. The default is an empty, read-only 200public virtual Expression<Func<ExportDefinition, bool>> Constraint 242/// against a given <see cref="ExportDefinition"/> to determine if this 262public virtual bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition)
System\ComponentModel\Composition\Primitives\PrimitivesServices.cs (1)
51internal static bool IsImportDependentOnPart(this ImportDefinition import, ComposablePartDefinition part, ExportDefinition export, bool expandGenerics)
System\ComponentModel\Composition\ReflectionModel\ExportfactoryCreator.LifetimeContext.cs (1)
41var exportDef = factoryPartDefinition.ExportDefinitions.Single();
System\ComponentModel\Composition\ReflectionModel\ExportingMember.cs (3)
13private readonly ExportDefinition _definition; 18public ExportingMember(ExportDefinition definition, ReflectionMember member) 32public ExportDefinition Definition
System\ComponentModel\Composition\ReflectionModel\GenericSpecializationPartCreationInfo.cs (8)
22private IEnumerable<ExportDefinition>? _exports; 379private List<ExportDefinition> PopulateExports(List<LazyMemberInfo> members) 381List<ExportDefinition> exports = new List<ExportDefinition>(); 383foreach (ExportDefinition originalExport in _originalPartCreationInfo.GetExports()) 398public ExportDefinition TranslateExpot(ReflectionMemberExportDefinition reflectionExport, List<LazyMemberInfo> members) 400ExportDefinition? export = null; 501public IEnumerable<ExportDefinition> GetExports()
System\ComponentModel\Composition\ReflectionModel\IReflectionPartCreationInfo.cs (1)
16IEnumerable<ExportDefinition> GetExports();
System\ComponentModel\Composition\ReflectionModel\PartCreatorExportDefinition.cs (4)
12private readonly ExportDefinition _productDefinition; 15public PartCreatorExportDefinition(ExportDefinition productDefinition) 45internal static bool IsProductConstraintSatisfiedBy(ImportDefinition productImportDefinition, ExportDefinition exportDefinition) 49if (productValue is ExportDefinition productDefinition)
System\ComponentModel\Composition\ReflectionModel\PartCreatorMemberImportDefinition.cs (2)
28public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition) 38public override Expression<Func<ExportDefinition, bool>> Constraint
System\ComponentModel\Composition\ReflectionModel\PartCreatorParameterImportDefinition.cs (2)
29public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition) 38public override Expression<Func<ExportDefinition, bool>> Constraint
System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePart.cs (4)
140public sealed override IEnumerable<ExportDefinition> ExportDefinitions 161public override object? GetExportedValue(ExportDefinition definition) 561private ExportingMember? GetExportingMemberFromDefinition(ExportDefinition definition) 607private static ExportingMember? GetExportingMember(ExportDefinition definition)
System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePartDefinition.cs (18)
19private volatile ExportDefinition[]? _exports; 55private ExportDefinition[] ExportDefinitionsInternal 61ExportDefinition[] exports = _creationInfo.GetExports().ToArray(); 71public override IEnumerable<ExportDefinition> ExportDefinitions 141internal override bool TryGetExports(ImportDefinition definition, out Tuple<ComposablePartDefinition, ExportDefinition>? singleMatch, out IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>>? multipleMatches) 148List<Tuple<ComposablePartDefinition, ExportDefinition>>? exports = null; 192if (candidatePart.TryGetExports(definition, out Tuple<ComposablePartDefinition, ExportDefinition>? candidateSingleMatch, out IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>>? candidateMultipleMatches)) 218private bool TryGetNonGenericExports(ImportDefinition definition, out Tuple<ComposablePartDefinition, ExportDefinition>? singleMatch, out IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>>? multipleMatches) 223List<Tuple<ComposablePartDefinition, ExportDefinition>>? multipleExports = null; 224Tuple<ComposablePartDefinition, ExportDefinition>? singleExport = null; 227foreach (var export in ExportDefinitionsInternal) 234singleExport = new Tuple<ComposablePartDefinition, ExportDefinition>(this, export); 240multipleExports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>(); 243multipleExports.Add(new Tuple<ComposablePartDefinition, ExportDefinition>(this, export)); 267foreach (ExportDefinition export in ExportDefinitionsInternal)
System\ComponentModel\Composition\ReflectionModel\ReflectionMemberExportDefinition.cs (2)
13private readonly ExportDefinition _exportDefinition; 17public ReflectionMemberExportDefinition(LazyMemberInfo member, ExportDefinition exportDefinition, ICompositionElement? origin)
System\ComponentModel\Composition\ReflectionModel\ReflectionModelServices.cs (8)
43public static LazyMemberInfo GetExportingMember(ExportDefinition exportDefinition) 130Lazy<IEnumerable<ExportDefinition>>? exports, 146public static ExportDefinition CreateExportDefinition( 321private readonly Lazy<IEnumerable<ExportDefinition>>? _exports; 331Lazy<IEnumerable<ExportDefinition>>? exports, 400public IEnumerable<ExportDefinition> GetExports() 407IEnumerable<ExportDefinition> exports = _exports.Value; 414foreach (ExportDefinition export in exports)