System.Composition Namespace

The System.Composition namespace contains classes for creating and specifying export attributes, retrieving exports from a composition, configuring import attributes, and for specifying how parts interact during composition.

Classes

CompositionContext

Provides methods to retrieve exports from the composition.

CompositionContextExtensions

Adds methods to the composition context that are specific to the typed parts model.

Export<T>

A reference that allows the graph of parts associated with an exported instance to be released.

ExportAttribute

Specifies that a type, property, field, or method provides a particular export.

ExportFactory<T>

A factory that creates new instances of a part that provides the specified export.

ExportFactory<T,TMetadata>

A factory that creates new instances of a part that provides the specified export, with attached metadata.

ExportMetadataAttribute

Specifies metadata for a type, property, field, or method that is marked with the ExportAttribute attribute.

ImportAttribute

Specifies that a property, field, or parameter value should be provided by the host container.

ImportingConstructorAttribute

Specifies which constructor should be used when creating an attributed part.

ImportManyAttribute

Specifies that a property, field, or parameter should be populated with all matching exports by the host container.

ImportMetadataConstraintAttribute

Specifies that an import requires certain metadata values.

MetadataAttributeAttribute

Specifies that a custom attribute's properties provide metadata for exports applied to the same type, property, field, or method.

OnImportsSatisfiedAttribute

Specifies that a method should be called when composition is completed.

PartMetadataAttribute

Specifies metadata for a part.

PartNotDiscoverableAttribute

Specifies that this type's exports won't be included in a catalog.

SharedAttribute

Marks the decorated part as being constrained to sharing within the specified boundary.

SharingBoundaryAttribute

When applied to an import of an ExportFactory<T> object, marks the boundary of a sharing scope.