Click here to Skip to main content
15,881,803 members
Articles / Programming Languages / C# 4.0

Fun with Dynamic Objects and MEF in C# 4.0 - A dynamic File System Wrapper

Rate me:
Please Sign up or sign in to vote.
4.52/5 (9 votes)
5 Sep 2009CPOL11 min read 80.6K   592   35  
Exploring the exciting things we can do with DynamicObject in the System.Dynamic namespace and MEF, using .NET 4.0 and C#.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>System.ComponentModel.Composition</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Internal.Strings">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Argument_AssemblyReflectionOnly">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is a reflection-only assembly which is not supported..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Argument_ElementReflectionOnlyType">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; contains a reflection-only type which is not supported..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Argument_ExportsEmpty">
            <summary>
              Looks up a localized string similar to &apos;exports&apos; cannot be empty when ImportDefinition.ImportCardinality is ImportCardinality.ExactlyOne..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Argument_ExportsTooMany">
            <summary>
              Looks up a localized string similar to &apos;exports&apos; cannot contain more than one element when ImportDefinition.ImportCardinality is ImportCardinality.ZeroOrOne or ImportCardinality.ExactlyOne..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Argument_NullElement">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; cannot contain a null (Nothing in Visual Basic) element..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ArgumentException_EmptyString">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; cannot be an empty string (&quot;&quot;)..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ArgumentOutOfRange_InvalidEnum">
            <summary>
              Looks up a localized string similar to The value of argument &apos;{0}&apos; ({1}) is invalid for Enum type &apos;{2}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ArgumentOutOfRange_InvalidEnumInSet">
            <summary>
              Looks up a localized string similar to The value of argument &apos;{0}&apos; ({1}) is not supported. Allowed values are : &apos;{2}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ArgumentValueType">
            <summary>
              Looks up a localized string similar to The argument was a value type which is not supported..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.AssemblyFileNotFoundOrWrongType">
            <summary>
              Looks up a localized string similar to Assembly file {0} is either not found or not a dll or exe file..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.AtomicComposition_AlreadyCompleted">
            <summary>
              Looks up a localized string similar to The atomicComposition can no longer be changed because the atomicComposition has already been completed..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.AtomicComposition_AlreadyNested">
            <summary>
              Looks up a localized string similar to The atomicComposition is already contains an inner atomicComposition and cannot contain more than one atomicComposition at a time..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.AtomicComposition_PartOfAnotherAtomicComposition">
            <summary>
              Looks up a localized string similar to The atomicComposition contains another inner atomicComposition and cannot be changed until the that inner atomicComposition has been completed..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CardinalityMismatch_NoExports">
            <summary>
              Looks up a localized string similar to No valid exports were found that match the constraint &apos;{0}&apos;, invalid exports may have been rejected..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CardinalityMismatch_TooManyExports">
            <summary>
              Looks up a localized string similar to More than one export was found that matches the constraint &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionElement_UnknownOrigin">
            <summary>
              Looks up a localized string similar to Unknown Origin.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_ChangesRejected">
            <summary>
              Looks up a localized string similar to The composition remains unchanged. The changes were rejected because of the following error(s): {0}.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_ElementPrefix">
            <summary>
              Looks up a localized string similar to Element: {0}.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_ErrorPrefix">
            <summary>
              Looks up a localized string similar to Resulting in:.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_MetadataViewInvalidConstructor">
            <summary>
              Looks up a localized string similar to Unable to create an instance of the Metadata view &apos;{0}&apos; because a constructor could not be selected.  Ensure that the type implements a constructor which takes an argument of type IDictionary&lt;string, object&gt;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_MultipleErrorsWithMultiplePaths">
            <summary>
              Looks up a localized string similar to The composition produced multiple composition errors, with {0:N0} root causes. The root causes are provided below..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_OriginFormat">
            <summary>
              Looks up a localized string similar to  {0} {1}.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_OriginSeparator">
            <summary>
              Looks up a localized string similar to --&gt; .
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_PathsCountSeparator">
            <summary>
              Looks up a localized string similar to ).
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_ReviewErrorProperty">
            <summary>
              Looks up a localized string similar to Review the CompositionException.Errors property for more detailed information..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_SingleErrorWithMultiplePaths">
            <summary>
              Looks up a localized string similar to The composition produced a single composition error, with {0:N0} root causes. The root causes are provided below..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionException_SingleErrorWithSinglePath">
            <summary>
              Looks up a localized string similar to The composition produced a single composition error. The root cause is provided below..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Discovery_AssemblyLoadFailed">
            <summary>
              Looks up a localized string similar to The catalog &apos;{0}&apos; could not load assembly &apos;{1}&apos;. {2}.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Discovery_DefinitionContainsGenericParameters">
            <summary>
              Looks up a localized string similar to The ComposablePartDefinition &apos;{0}&apos; was ignored because it is an open generic type..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Discovery_DefinitionContainsNoExports">
            <summary>
              Looks up a localized string similar to The ComposablePartDefinition &apos;{0}&apos; was ignored because it contains no exports..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute">
            <summary>
              Looks up a localized string similar to The ComposablePartDefinition &apos;{0}&apos; was ignored because it was marked with PartNotDiscoverableAttribute..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Discovery_MemberMarkedWithMultipleImportAndImportMany">
            <summary>
              Looks up a localized string similar to The member or parameter &apos;{0}&apos; is marked with multiple Import and ImportMany attributes. Only the first attribute encountered will be respected..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Rejection_DefinitionRejected">
            <summary>
              Looks up a localized string similar to The ComposablePartDefinition &apos;{0}&apos; has been rejected. {1}.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.CompositionTrace_Rejection_DefinitionResurrected">
            <summary>
              Looks up a localized string similar to The ComposablePartDefinition &apos;{0}&apos; that was previously rejected has been resurrected..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ContractMismatch_ExportedValueCannotBeCastToT">
            <summary>
              Looks up a localized string similar to Cannot cast the underlying exported value of type &apos;{0}&apos; to type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ContractMismatch_InvalidCastOnMetadataField">
            <summary>
              Looks up a localized string similar to Unable to create an Instance of the Metadata view &apos;{0}&apos; because the exporter exported the metadata  for the item &apos;{1}&apos; with the value &apos;{2}&apos; as type &apos;{3}&apos; but the view imports it as type &apos;{4}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ContractMismatch_NullReferenceOnMetadataField">
            <summary>
              Looks up a localized string similar to Unable to create an Instance of the Metadata view &apos;{0}&apos; because the exporter exported the metadata for the item &apos;{1}&apos; with a null value and null is not a valid value for type &apos;{2}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.DirectoryNotFound">
            <summary>
              Looks up a localized string similar to Directory &apos;{0}&apos; could not be found..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Discovery_DuplicateMetadataNameValues">
            <summary>
              Looks up a localized string similar to Member or Type &apos;{0}&apos; contains multiple metadata entries with the name &apos;{1}&apos;. The metadata entries could be coming from the ExportMetadataAttribute or from a property of a custom metadata attribute. Either remove the duplicate entries or enable the metadata entry with name &apos;{1}&apos; to allow multiple entries via the IsMultiple property on ExportMetadataAttribute or AttributeUsage.AllowMultiple on custom metadata attributes..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Discovery_MetadataContainsValueWithInvalidType">
            <summary>
              Looks up a localized string similar to Property &apos;{0}&apos; has type &apos;{1}&apos; which is an invalid metadata type. Metadata can only contain values with a type that is available to be embedded at compile-time into attributes. For more details of what types are valid reference section 17.1.3 in the C# specification..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.Discovery_ReservedMetadataNameUsed">
            <summary>
              Looks up a localized string similar to Member or Type &apos;{0}&apos; contains a metadata entry with the name &apos;{1}&apos;, which is a reserved metadata key name. Either remove this metadata entry or change the name associated with the entry..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ExportDefinitionNotOnThisComposablePart">
            <summary>
              Looks up a localized string similar to {0} did not originate from the ExportDefinitions property on this ComposablePart or its ComposablePartDefinition..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportDefinitionNotOnThisComposablePart">
            <summary>
              Looks up a localized string similar to {0} did not originate from the ImportDefinitions property on this ComposablePart or its ComposablePartDefinition..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_ComposeTookTooManyIterations">
            <summary>
              Looks up a localized string similar to The composition failed because it did not complete within &apos;{0:N0}&apos; iterations. This is most likely caused by a cycle in the dependency graph of a part which is marked with a non-shared creation policy..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_InvalidStateForRecomposition">
            <summary>
              Looks up a localized string similar to The ComposablePart of type &apos;{0}&apos; cannot be recomposed because it is in an invalid state. It can only be recomposed if it has already been fully previewed or composed..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_PartCannotActivate">
            <summary>
              Looks up a localized string similar to Cannot activate part &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_PartCannotGetExportedValue">
            <summary>
              Looks up a localized string similar to Cannot get export &apos;{0}&apos; from part &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_PartCannotSetImport">
            <summary>
              Looks up a localized string similar to Cannot set import &apos;{0}&apos; on part &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_PartCycle">
            <summary>
              Looks up a localized string similar to Cannot compose part &apos;{0}&apos; because a cycle exists in the dependencies between the exports being composed. To break this cycle, consider changing some imports from constructor to property injection..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportEngine_PreventedByExistingImport">
            <summary>
              Looks up a localized string similar to Change in exports prevented by non-recomposable import &apos;{0}&apos; on part &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ImportNotSetOnPart">
            <summary>
              Looks up a localized string similar to Could not finishing composing object of type &apos;{0}&apos;. The import &apos;{1}&apos; was not satisfied..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InternalExceptionMessage">
            <summary>
              Looks up a localized string similar to Internal error occurred. Additional information: &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InvalidMetadataValue">
            <summary>
              Looks up a localized string similar to Metadata can only contain values with a type that is available to be embedded at compile-time into attributes. For more details of what types are valid reference section 17.1.3 in the C# specification..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InvalidMetadataView">
            <summary>
              Looks up a localized string similar to The Type &apos;{0}&apos; supplied is not a valid Metadata View..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InvalidOperation_DefinitionCannotBeRecomposed">
            <summary>
              Looks up a localized string similar to &apos;definition&apos; cannot be set after Activate has been called because ImportDefinition.IsRecomposable is false..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InvalidOperation_GetExportedValueBeforePrereqImportSet">
            <summary>
              Looks up a localized string similar to GetExportedValue cannot be called before prerequisite import &apos;{0}&apos; has been set..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InvalidOperationReentrantCompose">
            <summary>
              Looks up a localized string similar to A call to Compose occurred during a call to Compose on the same CompositionContainer object. Use the IsComposing property on CompositionContainer to ensure a composition is not already in progress before calling Compose..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.InvalidSetterOnMetadataField">
            <summary>
              Looks up a localized string similar to The MetadataView &apos;{0}&apos; is invalid because property &apos;{1}&apos; has a property set method..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberInfo_AccessorsNull">
            <summary>
              Looks up a localized string similar to Accessors must not be null (Nothing in Visual Basic)..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberInfo_InvalidAccessorOnSimpleMember">
            <summary>
              Looks up a localized string similar to A member of type &apos;{0}&apos; must have exactly a single accessor of type &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberinfo_InvalidEventAccessors_AccessorType">
            <summary>
              Looks up a localized string similar to All event accessors must be methods..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberInfo_InvalidEventAccessors_Cardinality">
            <summary>
              Looks up a localized string similar to An event must have exactly three accessors..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberinfo_InvalidPropertyAccessors_AccessorType">
            <summary>
              Looks up a localized string similar to All property accessors must be methods..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberInfo_InvalidPropertyAccessors_Cardinality">
            <summary>
              Looks up a localized string similar to A property must have exactly two accessors..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyMemberInfo_NoAccessors">
            <summary>
              Looks up a localized string similar to A member must have at least one accessor..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.LazyServices_LazyResolvesToNull">
            <summary>
              Looks up a localized string similar to The lazily evaluated value of type &apos;{0}&apos; passed to the ReflectionModelServices API as part of the argument &apos;{1}&apos; must not return null (Nothing in Visual Basic)..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.MetadataItemNotSupported">
            <summary>
              Looks up a localized string similar to This export does not support the metadata item &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.NotImplemented_NotOverriddenByDerived">
            <summary>
              Looks up a localized string similar to The {0} member must be overridden by a derived class..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.NotSupportedInterfaceMetadataView">
            <summary>
              Looks up a localized string similar to Interface &apos;{0}&apos; is not a valid MetadataView; MetadataViews do not support non-public interfaces, and interfaces that contain members that are not properties..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.NotSupportedReadOnlyDictionary">
            <summary>
              Looks up a localized string similar to The underlying dictionary is read-only..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ObjectAlreadyInitialized">
            <summary>
              Looks up a localized string similar to This property cannot be set after the object&apos;s public surface has been accessed..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ObjectMustBeInitialized">
            <summary>
              Looks up a localized string similar to This object has not been initialized - the property &apos;{0}&apos; must be set..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReentrantCompose">
            <summary>
              Looks up a localized string similar to Currently composing another batch in this ComposablePartExportProvider. Only one batch can be composed at a time..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ExportNotReadable">
            <summary>
              Looks up a localized string similar to Cannot get the value of property &apos;{0}&apos;, because the member is not readable. The property must have an accessible getter..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ExportThrewException">
            <summary>
              Looks up a localized string similar to An exception occurred while trying to get the value of property &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionAddThrewException">
            <summary>
              Looks up a localized string similar to Cannot populate the collection &apos;{0}&apos; because an exception occurred while calling the Add method on the type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionClearThrewException">
            <summary>
              Looks up a localized string similar to Cannot populate the collection &apos;{0}&apos; because an exception occurred while calling the Clear method on the type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionConstructionThrewException">
            <summary>
              Looks up a localized string similar to Cannot populate the collection &apos;{0}&apos; because an exception occurred while calling the default constructor on the type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionGetThrewException">
            <summary>
              Looks up a localized string similar to Cannot populate the collection &apos;{0}&apos; because an exception occurred while trying to access the collection value. If the collection is not IEnumerable&lt;T&gt; or T[] it must implement ICollection&lt;T&gt; and be either pre-initialized or be writable with a default constructor..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionIsReadOnlyThrewException">
            <summary>
              Looks up a localized string similar to Cannot populate the collection &apos;{0}&apos; because an exception occurred while reading the IsReadOnly property on the type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionNotWritable">
            <summary>
              Looks up a localized string similar to Cannot populate the collection &apos;{0}&apos; because it does not implement ICollection&lt;T&gt; or is read-only. If the collection is not IEnumerable&lt;T&gt; or T[] it must implement ICollection&lt;T&gt; and be either pre-initialized or be writable with a default constructor..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionNull">
            <summary>
              Looks up a localized string similar to Cannot populate the value of enumerable member &apos;{0}&apos; because it is null (Nothing in Visual Basic). If the collection is not IEnumerable&lt;T&gt; or T[] it must implement ICollection&lt;T&gt; and be either pre-initialized or be writable with a default constructor..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned">
            <summary>
              Looks up a localized string similar to The importing constructor on type &apos;{0}&apos; is using ImportManyAttribute on parameter &apos;{1}&apos; with a non-assignable type. On constructor parameters the ImportManyAttribute only supports importing into types T[] or IEnumerable&lt;T&gt;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportNotAssignableFromExport">
            <summary>
              Looks up a localized string similar to The export &apos;{0}&apos; is not assignable to type &apos;{1}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportNotWritable">
            <summary>
              Looks up a localized string similar to Cannot set the value of &apos;{0}&apos; because the member is not writable. If the member is a property, it must have an accessible setter; otherwise, if it is a field, it must not be read-only..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportThrewException">
            <summary>
              Looks up a localized string similar to An exception occurred while trying to set the value of property &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_InvalidExportDefinition">
            <summary>
              Looks up a localized string similar to ExportDefinition of type &apos;{0}&apos; cannot be used in this context. Only export definitions produced by the ReflectionModelServices.CreateExportDefinition are supported..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_InvalidImportDefinition">
            <summary>
              Looks up a localized string similar to ImportDefinition of type &apos;{0}&apos; cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition are supported..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_InvalidMemberImportDefinition">
            <summary>
              Looks up a localized string similar to ImportDefinition of type &apos;{0}&apos; cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition based on members are supported. Use ReflectionModelServices.IsImportingParameter to determine whether a given import definition is based on a member or a parameter..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_InvalidParameterImportDefinition">
            <summary>
              Looks up a localized string similar to ImportDefinition of type &apos;{0}&apos; cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition based on parameters are supported. Use ReflectionModelServices.IsImportingParameter to determine whether a given import definition is based on a member or a parameter..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_InvalidPartDefinition">
            <summary>
              Looks up a localized string similar to ComposablePartDefinition of type &apos;{0}&apos; cannot be used in this context. Only part definitions produced by the ReflectionModelServices.CreatePartDefinition are supported..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_PartConstructorMissing">
            <summary>
              Looks up a localized string similar to Cannot create an instance of type &apos;{0}&apos; because a constructor could not be selected for construction. Ensure that the type either has a default constructor, or a single constructor marked with the &apos;System.ComponentModel.Composition.ImportingConstructorAttribute&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_PartConstructorThrewException">
            <summary>
              Looks up a localized string similar to An exception occurred while trying to create an instance of type &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.ReflectionModel_PartOnImportsSatisfiedThrewException">
            <summary>
              Looks up a localized string similar to An exception occurred while calling the &apos;OnImportsSatisfied&apos; method on type &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.TypeCatalog_DisplayNameFormat">
            <summary>
              Looks up a localized string similar to {0} (Types=&apos;{1}&apos;)..
            </summary>
        </member>
        <member name="P:Microsoft.Internal.Strings.TypeCatalog_Empty">
            <summary>
              Looks up a localized string similar to &lt;Empty&gt;.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ExportProvider">
            <summary>
                Defines the <see langword="abstract"/> base class for export providers, which provide
                methods for retrieving <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``1">
            <summary>
                Returns the export with the contract name derived from the specified type parameter, 
                throwing an exception if there is not exactly one matching export.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`1"/> object to return. The contract name is also 
                derived from this type parameter.
            </typeparam>
            <returns>
                The <see cref="T:System.Lazy`1"/> object with the contract name derived from 
                <typeparamref name="T"/>.
            </returns>
            <remarks>
                <para>
                    The returned <see cref="T:System.Lazy`1"/> object is an instance of 
                    <see cref="T:System.Lazy`2"/> underneath, where 
                    <c>TMetadataView</c>
                    is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c> 
                    is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
                </para>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are zero <see cref="T:System.Lazy`1"/> objects with the contract name derived 
                    from <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
                -or-
                <para>
                    There are more than one <see cref="T:System.Lazy`1"/> objects with the contract name 
                    derived from <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``1(System.String)">
            <summary>
                Returns the export with the specified contract name, throwing an exception if there 
                is not exactly one matching export.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`1"/> object to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the <see cref="T:System.Lazy`1"/> 
                object to return; or <see langword="null"/> or an empty string ("") to use the 
                default contract name.
            </param>
            <returns>
                The <see cref="T:System.Lazy`1"/> object with the specified contract name.
            </returns>
            <remarks>
                <para>
                    The returned <see cref="T:System.Lazy`1"/> object is an instance of 
                    <see cref="T:System.Lazy`2"/> underneath, where 
                    <c>TMetadataView</c>
                    is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c> 
                    is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
                </para>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The default contract name is compared using a case-sensitive, non-linguistic 
                    comparison using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are zero <see cref="T:System.Lazy`1"/> objects with the specified contract name 
                    in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
                -or-
                <para>
                    There are more than one <see cref="T:System.Lazy`1"/> objects with the specified contract
                    name in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``2">
            <summary>
                Returns the export with the contract name derived from the specified type parameter, 
                throwing an exception if there is not exactly one matching export.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`2"/> object to return. The 
                contract name is also derived from this type parameter.
            </typeparam>
            <typeparam name="TMetadataView">
                The type of the metadata view of the <see cref="T:System.Lazy`2"/> object
                to return.
            </typeparam>
            <returns>
                The <see cref="T:System.Lazy`2"/> object with the contract name derived 
                from <typeparamref name="T"/>.
            </returns>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are zero <see cref="T:System.Lazy`2"/> objects with the contract 
                    name derived from <typeparamref name="T"/> in the 
                    <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
                -or-
                <para>
                    There are more than one <see cref="T:System.Lazy`2"/> objects with the 
                    contract name derived from <typeparamref name="T"/> in the 
                    <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
                <typeparamref name="TMetadataView"/> is not a valid metadata view type.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``2(System.String)">
            <summary>
                Returns the export with the specified contract name, throwing an exception if there 
                is not exactly one matching export.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`2"/> object to return.
            </typeparam>
            <typeparam name="TMetadataView">
                The type of the metadata view of the <see cref="T:System.Lazy`2"/> object
                to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.Lazy`2"/> object to return; or <see langword="null"/> 
                or an empty string ("") to use the default contract name.
            </param>
            <returns>
                The <see cref="T:System.Lazy`2"/> object with the specified contract name.
            </returns>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are zero <see cref="T:System.Lazy`2"/> objects with the 
                    specified contract name in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
                -or-
                <para>
                    There are more than one <see cref="T:System.Lazy`2"/> objects with the 
                    specified contract name in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
                <typeparamref name="TMetadataView"/> is not a valid metadata view type.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.Type,System.Type,System.String)">
            <summary>
                Returns the exports with the specified contract name.
            </summary>
            <param name="type">
                The <see cref="T:System.Type"/> of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to return.
            </param>
            <param name="metadataViewType">
                The <see cref="T:System.Type"/> of the metadata view of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to
                return.
            </param>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> object to return; or <see langword="null"/> 
                or an empty string ("") to use the default contract name.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the <see cref="T:System.Lazy`2"/> objects 
                with the specified contract name, if found; otherwise, an empty 
                <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </returns>
            <remarks>
                <para>
                    The returned <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects are instances of 
                    <see cref="T:System.Lazy`2"/> underneath, where <c>T</c>
                    is <paramref name="type"/> and <c>TMetadataView</c> is 
                    <paramref name="metadataViewType"/>.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <paramref name="type"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="type"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
                <paramref name="metadataViewType"/> is not a valid metadata view type.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``1">
            <summary>
                Returns the exports with the contract name derived from the specified type parameter.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`1"/> objects to return. The contract name is also 
                derived from this type parameter.
            </typeparam>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the <see cref="T:System.Lazy`1"/> objects
                with the contract name derived from <typeparamref name="T"/>, if found; otherwise,
                an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </returns>
            <remarks>
                <para>
                    The returned <see cref="T:System.Lazy`1"/> objects are instances of 
                    <see cref="T:System.Lazy`2"/> underneath, where 
                    <c>TMetadataView</c>
                    is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c> 
                    is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
                </para>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``1(System.String)">
            <summary>
                Returns the exports with the specified contract name.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`1"/> objects to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the <see cref="T:System.Lazy`1"/> 
                objects to return; or <see langword="null"/> or an empty string ("") to use the 
                default contract name.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the <see cref="T:System.Lazy`1"/> objects
                with the specified contract name, if found; otherwise, an empty 
                <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </returns>
            <remarks>
                <para>
                    The returned <see cref="T:System.Lazy`1"/> objects are instances of 
                    <see cref="T:System.Lazy`2"/> underneath, where 
                    <c>TMetadataView</c>
                    is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c> 
                    is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``2">
            <summary>
                Returns the exports with the contract name derived from the specified type parameter.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`2"/> objects to return. The 
                contract name is also derived from this type parameter.
            </typeparam>
            <typeparam name="TMetadataView">
                The type of the metadata view of the <see cref="T:System.Lazy`2"/> objects
                to return.
            </typeparam>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the 
                <see cref="T:System.Lazy`2"/> objects with the contract name derived from 
                <typeparamref name="T"/>, if found; otherwise, an empty 
                <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </returns>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">
                <typeparamref name="TMetadataView"/> is not a valid metadata view type.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``2(System.String)">
            <summary>
                Returns the exports with the specified contract name.
            </summary>
            <typeparam name="T">
                The type of the <see cref="T:System.Lazy`2"/> objects to return. The 
                contract name is also derived from this type parameter.
            </typeparam>
            <typeparam name="TMetadataView">
                The type of the metadata view of the <see cref="T:System.Lazy`2"/> objects
                to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.Lazy`2"/> objects to return; or <see langword="null"/> 
                or an empty string ("") to use the default contract name.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the 
                <see cref="T:System.Lazy`2"/> objects with the specified contract name if 
                found; otherwise, an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </returns>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.InvalidOperationException">
                <typeparamref name="TMetadataView"/> is not a valid metadata view type.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValue``1">
            <summary>
                Returns the exported value with the contract name derived from the specified type 
                parameter, throwing an exception if there is not exactly one matching exported value.
            </summary>
            <typeparam name="T">
                The type of the exported value to return. The contract name is also 
                derived from this type parameter.
            </typeparam>
            <returns>
                The exported <see cref="T:System.Object"/> with the contract name derived from 
                <typeparamref name="T"/>.
            </returns>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                The underlying exported value cannot be cast to <typeparamref name="T"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are zero exported values with the contract name derived from 
                    <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
                -or-
                <para>
                    There are more than one exported values with the contract name derived from
                    <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValue``1(System.String)">
            <summary>
                Returns the exported value with the specified contract name, throwing an exception 
                if there is not exactly one matching exported value.
            </summary>
            <typeparam name="T">
                The type of the exported value to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the exported value to return,
                or <see langword="null"/> or an empty string ("") to use the default contract name.
            </param>
            <returns>
                The exported <see cref="T:System.Object"/> with the specified contract name.
            </returns>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                The underlying exported value cannot be cast to <typeparamref name="T"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are zero exported values with the specified contract name in the 
                    <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
                -or-
                <para>
                    There are more than one exported values with the specified contract name in the
                    <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValueOrDefault``1">
            <summary>
                Returns the exported value with the contract name derived from the specified type 
                parameter, throwing an exception if there is more than one matching exported value.
            </summary>
            <typeparam name="T">
                The type of the exported value to return. The contract name is also 
                derived from this type parameter.
            </typeparam>
            <returns>
                The exported <see cref="T:System.Object"/> with the contract name derived from 
                <typeparamref name="T"/>, if found; otherwise, the default value for
                <typeparamref name="T"/>.
            </returns>
            <remarks>
                <para>
                    If the exported value is not found, then this method returns the appropriate 
                    default value for <typeparamref name="T"/>; for example, 0 (zero) for integer 
                    types, <see langword="false"/> for Boolean types, and <see langword="null"/> 
                    for reference types.
                </para>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                The underlying exported value cannot be cast to <typeparamref name="T"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    There are more than one exported values with the contract name derived from
                    <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
                </para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValueOrDefault``1(System.String)">
            <summary>
                Returns the exported value with the specified contract name, throwing an exception 
                if there is more than one matching exported value.
            </summary>
            <typeparam name="T">
                The type of the exported value to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the exported value to return,
                or <see langword="null"/> or an empty string ("") to use the default contract name.
            </param>
            <returns>
                The exported <see cref="T:System.Object"/> with the specified contract name, if found; 
                otherwise, the default value for <typeparamref name="T"/>.
            </returns>
            <remarks>
                <para>
                    If the exported value is not found, then this method returns the appropriate 
                    default value for <typeparamref name="T"/>; for example, 0 (zero) for integer 
                    types, <see langword="false"/> for Boolean types, and <see langword="null"/> 
                    for reference types.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                The underlying exported value cannot be cast to <typeparamref name="T"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                There are more than one exported values with the specified contract name in the
                <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValues``1">
            <summary>
                Returns the exported values with the contract name derived from the specified type 
                parameter.
            </summary>
            <typeparam name="T">
                The type of the exported value to return. The contract name is also 
                derived from this type parameter.
            </typeparam>
            <returns>
                An <see cref="T:System.Collections.ObjectModel.Collection`1"/> containing the exported values with the contract name 
                derived from the specified type parameter, if found; otherwise, an empty 
                <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </returns>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                One or more of the underlying exported values cannot be cast to 
                <typeparamref name="T"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValues``1(System.String)">
            <summary>
                Returns the exported values with the specified contract name.
            </summary>
            <typeparam name="T">
                The type of the exported value to return.
            </typeparam>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the exported values to 
                return; or <see langword="null"/> or an empty string ("") to use the default 
                contract name.
            </param>
            <returns>
                An <see cref="T:System.Collections.ObjectModel.Collection`1"/> containing the exported values with the specified 
                contract name, if found; otherwise, an empty <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </returns>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                One or more of the underlying exported values cannot be cast to 
                <typeparamref name="T"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
            <summary>
                Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to get.
            </param>
            <result>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match 
                the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an 
                empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and 
                    there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the specified 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
                </para>
                -or-
                <para>
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or 
                    <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and there are more than one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                    objects that match the conditions of the specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
                </para>
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
                Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to get.
            </param>
            <result>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match 
                the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an 
                empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
                <para>
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and 
                    there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the specified 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
                </para>
                -or-
                <para>
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or 
                    <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and there are more than one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                    objects that match the conditions of the specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
                </para>
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition,System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.Export}@)">
            <summary>
                Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to get.
            </param>
            <param name="exports">
                When this method returns, contains an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                objects that match the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; 
                otherwise, an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </param>
            <returns>
                <see langword="true"/> if <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrMore"/> and 
                there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the specified 
                <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>. <see langword="true"/> if 
                <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and there is exactly one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                that matches the conditions of the specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>; otherwise, 
                <see langword="false"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
                Returns all exports that match the constraint defined by the specified definition.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to return.
            </param>
            <result>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match 
                the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an 
                empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this method should not treat cardinality-related mismatches 
                    as errors, and should not throw exceptions in those cases. For instance,
                    if <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> 
                    and there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the 
                    specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, an <see cref="T:System.Collections.Generic.IEnumerable`1"/> should be returned.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)">
            <summary>
                Raises the <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged"/> event.
            </summary>
            <param name="e">
                An <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs"/> containing the data for the event.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.OnExportsChanging(System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)">
            <summary>
                Raises the <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanging"/> event.
            </summary>
            <param name="e">
                An <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs"/> containing the data for the event.
            </param>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged">
            <summary>
                Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> have changed.
            </summary>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanging">
            <summary>
                Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> are changing.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.#ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> class.
            </summary>
            <param name="catalog">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> that the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>
                uses to produce <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="catalog"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.Dispose">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
            Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
            <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
            <returns></returns>
            <result>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
            the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
            empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <remarks>
            	<note type="inheritinfo">
            The implementers should not treat the cardinality-related mismatches as errors, and are not
            expected to throw exceptions in those cases.
            For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
            it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.EnsureCanRun">
            <summary>
             EnsureCanRun must be called from within a lock.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.EnsureCanSet``1(``0)" -->
        <member name="P:System.ComponentModel.Composition.Hosting.CatalogExportProvider.Catalog">
            <summary>
                Gets the composable part catalog that the provider users to 
                produce exports.
            </summary>
            <value>
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> that the 
                <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>
                uses to produce <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.CatalogExportProvider.SourceProvider">
            <summary>
                Gets the export provider which provides the provider access to additional
                exports.
            </summary>
            <value>
                The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the 
                <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> access to additional
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects. The default is <see langword="null"/>.
            </value>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
                This property has already been set.
                <para>
                    -or-
                </para>
                The methods on the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> 
                have already been accessed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> has been disposed of.
            </exception>
            <remarks>
                This property must be set before accessing any methods on the 
                <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>.
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.Export">
            <summary>
                Represents an export. That is, a type that is made up of a delay-created exported value 
                and metadata that describes that object.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class.
            </summary>
            <remarks>
                <note type="inheritinfo">
                    Derived types calling this constructor must override <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/>
                    and <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore"/>.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor(System.String,System.Func{System.Object})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class 
                with the specified contract name and exported value getter.
            </summary>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </param>
            <param name="exportedValueGetter">
                A <see cref="T:System.Func`1"/> that is called to create the exported value of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>. This allows the creation of the object to be delayed
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="contractName"/> is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="exportedValueGetter"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="contractName"/> is an empty string ("").
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object},System.Func{System.Object})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class 
                with the specified contract name, metadata and exported value getter.
            </summary>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </param>
            <param name="metadata">
                An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property to an empty, read-only 
                <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </param>
            <param name="exportedValueGetter">
                A <see cref="T:System.Func`1"/> that is called to create the exported value of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>. This allows the creation of the object to be delayed.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="contractName"/> is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="exportedValueGetter"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="contractName"/> is an empty string ("").
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func{System.Object})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class 
                with the specified export definition and exported value getter.
            </summary>
            <param name="definition">
                An <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> that describes the contract that the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> satisfies.
            </param>
            <param name="exportedValueGetter">
                A <see cref="T:System.Func`1"/> that is called to create the exported value of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>. This allows the creation of the object to be delayed. 
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="exportedValueGetter"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore">
            <summary>
                Returns the exported value of the export.
            </summary>
            <returns>
                The exported <see cref="T:System.Object"/> of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </returns>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                The current instance is an instance of <see cref="T:System.Lazy`1"/> and the underlying 
                exported value cannot be cast to <c>T</c>.
            </exception>
            <exception cref="T:System.NotImplementedException">
                The method was not overridden by a derived class.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this method should never return
                    <see langword="null"/>.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.Export.Definition">
            <summary>
                Gets the definition that describes the contract that the export satisfies.
            </summary>
            <value>
                An <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> that describes the contract that 
                the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> satisfies.
            </value>
            <exception cref="T:System.NotImplementedException">
                This property was not overridden by a derived class.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return
                    <see langword="null"/>.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.Export.Metadata">
            <summary>
                Gets the metadata of the export.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </value>
            <exception cref="T:System.NotImplementedException">
                The <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/> property was not overridden by a derived class.
            </exception>
            <remarks>
                <para>
                    This property returns the value of <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/>
                    of the <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/> property.
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.Export.Value">
            <summary>
                Returns the exported value of the export.
            </summary>
            <returns>
                The exported <see cref="T:System.Object"/> of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </returns>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will 
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionContractMismatchException">
                The current instance is an instance of <see cref="T:System.Lazy`1"/> and the underlying 
                exported value cannot be cast to <c>T</c>.
            </exception>
            <exception cref="T:System.NotImplementedException">
                The <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedValueCore"/> method was not overridden by a derived class.
            </exception>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog">
            <summary>
                Defines the <see langword="abstract"/> base class for composable part catalogs, which produce
                and return <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects.
            </summary>
            <remarks>
                This type is thread safe.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
            <summary>
                Returns the export definitions that match the constraint defined by the specified definition.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Tuple`2"/> containing the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined 
                by <paramref name="definition"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> has been disposed of.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>, if no 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> match the conditions defined by 
                    <paramref name="definition"/>, return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.Dispose">
            <summary>
                Releases the unmanaged resources used by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> and 
                optionally releases the managed resources.
            </summary>
            <param name="disposing">
                <see langword="true"/> to release both managed and unmanaged resources; 
                <see langword="false"/> to release only unmanaged resources.
            </param>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.Parts">
            <summary>
                Gets the part definitions of the catalog.
            </summary>
            <value>
                A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> has been disposed of.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>.
                </note>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition">
            <summary>
                Represents a contract name and metadata-based import 
                required by a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> object.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ImportDefinition">
            <summary>
                Represents an import required by a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> object.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> class.
            </summary>
            <remarks>
                <note type="inheritinfo">
                    Derived types calling this constructor must override the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint"/> 
                    property, and optionally, the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite"/> 
                    and <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable"/> 
                    properties.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.#ctor(System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}},System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> class 
                with the specified constraint, cardinality, value indicating if the import 
                definition is recomposable and a value indicating if the import definition 
                is a prerequisite.
            </summary>
            <param name="constraint">
                A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/> 
                that defines the conditions that must be matched for the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> 
                to be satisfied by an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </param>
            <param name="contractName">
                The contract name of the export that this import is interested in. The contract name
                property is used as guidance and not automatically enforced in the constraint. If 
                the contract name is a required in the constraint then it should be added to the constraint
                by the caller of this constructor.
            </param>
            <param name="cardinality">
                One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the 
                cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
                <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </param>
            <param name="isRecomposable">
                <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> can be satisfied 
                multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise, 
                <see langword="false"/>.
            </param>
            <param name="isPrerequisite">
                <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> is required to be 
                satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported 
                objects; otherwise, <see langword="false"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="constraint"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="cardinality"/> is not one of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> 
                values.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.IsConstraintSatisfiedBy(System.ComponentModel.Composition.Primitives.ExportDefinition)">
            <summary>
                Executes of the constraint provided by the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint"/> property
                against a given <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> to determine if this 
                <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> can be satisfied by the given <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </summary>
            <param name="exportDefinition">
                A definition for a <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> used to determine if it satisfies the
                requirements for this <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </param>
            <returns>
                <see langword="True"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> satisfies the requirements for
                this <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, otherwise returns <see langword="False"/>.
            </returns>
            <remarks>
                <note type="inheritinfo">
                    Overrides of this method can provide a more optimized execution of the 
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint"/> property but the result should remain consistent.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.ToString">
            <summary>
                Returns a string representation of the import definition.
            </summary>
            <returns>
                A <see cref="T:System.String"/> containing the value of the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint"/> property.
            </returns>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.ContractName">
            <summary>
                Gets the contract name of the export required by the import definition.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing the contract name of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                required by the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>. This property should
                return <see cref="F:System.String.Empty"/> for imports that do not require a specific 
                contract name.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality">
            <summary>
                Gets the cardinality of the exports required by the import definition.
            </summary>
            <value>
                One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the 
                cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
                <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>. The default is 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint">
            <summary>
                Gets an expression that defines conditions that must be matched for the import 
                described by the import definition to be satisfied.
            </summary>
            <returns>
                A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/> 
                that defines the conditions that must be matched for the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> to be satisfied by an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </returns>
            <exception cref="T:System.NotImplementedException">
                The property was not overridden by a derived class.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite">
            <summary>
                Gets a value indicating whether the import definition is required to be 
                satisfied before a part can start producing exported values.
            </summary>
            <value>
                <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> is required to be 
                satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported 
                objects; otherwise, <see langword="false"/>. The default is <see langword="true"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable">
            <summary>
                Gets a value indicating whether the import definition can be satisfied multiple times.
            </summary>
            <value>
                <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> can be satisfied 
                multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise, 
                <see langword="false"/>. The default is <see langword="false"/>.
            </value>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> class.
            </summary>
            <remarks>
                <note type="inheritinfo">
                    Derived types calling this constructor can optionally override the 
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.ContractName"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredTypeIdentity"/>,
                    <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/>, 
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable"/> 
                    and <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredCreationPolicy"/> properties.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#ctor(System.String,System.String,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Type}},System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> class 
                with the specified contract name, required metadataq, cardinality, value indicating 
                if the import definition is recomposable and a value indicating if the import definition 
                is a prerequisite.
            </summary>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
            </param>
            <param name="requiredTypeIdentity">
                The type identity of the export type expected. Use <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetTypeIdentity(System.Type)"/>
                to generate a type identity for a given type. If no specific type is required pass <see langword="null"/>.
            </param>
            <param name="requiredMetadata">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.String"/> objects containing
                the metadata names of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>; or <see langword="null"/> to
                set the <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata"/> property to an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </param>
            <param name="cardinality">
                One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the 
                cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
                <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
            </param>
            <param name="isRecomposable">
                <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> can be satisfied 
                multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise, 
                <see langword="false"/>.
            </param>
            <param name="isPrerequisite">
                <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> is required to be 
                satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported 
                objects; otherwise, <see langword="false"/>.
            </param>
            <param name="requiredCreationPolicy">
                A value indicating that the importer requires a specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> for 
                the exports used to satisfy this import. If no specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> is needed
                pass the default <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="contractName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="contractName"/> is an empty string ("").
                <para>
                    -or-
                </para>
                <paramref name="requiredMetadata"/> contains an element that is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="cardinality"/> is not one of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> 
                values.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.IsConstraintSatisfiedBy(System.ComponentModel.Composition.Primitives.ExportDefinition)">
            <summary>
                Executes an optimized version of the contraint given by the <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.Constraint"/> property
            </summary>
            <param name="exportDefinition">
                A definition for a <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> used to determine if it satisfies the
                requirements for this <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </param>
            <returns>
                <see langword="True"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> satisfies the requirements for
                this <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, otherwise returns <see langword="False"/>.
            </returns>
            <remarks>
                <note type="inheritinfo">
                    Overrides of this method can provide a more optimized execution of the 
                    <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.Constraint"/> property but the result should remain consistent.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredTypeIdentity">
            <summary>
                The type identity of the export type expected.
            </summary>
            <value>
                A <see cref="T:System.String"/> that is generated by <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetTypeIdentity(System.Type)"/>
                on the type that this import expects. If the value is <see langword="null"/> then this import
                doesn't expect a particular type.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata">
            <summary>
                Gets the metadata names of the export required by the import definition.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of pairs of metadata keys and types of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>. The default is an empty 
                <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </value>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>
                    or return an <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains an element that is
                    <see langword="null"/>. If the definition does not contain required metadata, 
                    return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredCreationPolicy">
            <summary>
                Gets or sets a value indicating that the importer requires a specific 
                <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> for the exports used to satisfy this import. T
            </summary>
            <value>
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/> - default value, used if the importer doesn't 
                    require a specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>.
            
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> - Requires that all exports used should be shared
                    by everyone in the container.
            
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> - Requires that all exports used should be 
                    non-shared in a container and thus everyone gets their own instance.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.Constraint">
            <summary>
                Gets an expression that defines conditions that must be matched for the import 
                described by the import definition to be satisfied.
            </summary>
            <returns>
                A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/> 
                that defines the conditions that must be matched for the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> to be satisfied by an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </returns>
            <remarks>
                <para>
                    This property returns an expression that defines conditions based on the 
                    <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.ContractName"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredTypeIdentity"/>, 
                    <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata"/>, and <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredCreationPolicy"/>
                    properties. 
                </para>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ICompositionElement">
            <summary>
                Represents an element that participates in composition.
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ICompositionElement.DisplayName">
            <summary>
                Gets the display name of the composition element.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/>.
            </value>
            <remarks>
                <note type="implementnotes">
                    Implementors of this property should never return <see langword="null"/> or an empty 
                    string ("").
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ICompositionElement.Origin">
            <summary>
                Gets the composition element from which the current composition element
                originated.
            </summary>
            <value>
                A <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> from which the current 
                <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> originated, or <see langword="null"/> 
                if the <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> is the root composition element.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ImportCardinality">
            <summary>
                Indicates the cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </summary>
        </member>
        <member name="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne">
            <summary>
                Zero or one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects are required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </summary>
        </member>
        <member name="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne">
            <summary>
                Exactly one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> object is required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </summary>
        </member>
        <member name="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrMore">
            <summary>
                Zero or more <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects are required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ExportDefinition">
            <summary>
                Describes the contract that an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> object satisfies.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ExportDefinition.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> class.
            </summary>
            <remarks>
                <note type="inheritinfo">
                    Derived types calling this constructor must override <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName"/>
                    and optionally, <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/>. By default, <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/>
                    returns an empty, read-only dictionary.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ExportDefinition.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> class with 
                the specified contract name and metadata.
            </summary>
            <param name="contractName">
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>.
            </param>
            <param name="metadata">
                An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/> property to an empty, read-only 
                <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="contractName"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="contractName"/> is an empty string ("").
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ExportDefinition.ToString">
            <summary>
                Returns a string representation of the export definition.
            </summary>
            <returns>
                A <see cref="T:System.String"/> containing the value of the <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName"/> property.
            </returns>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName">
            <summary>
                Gets the contract name of the export definition.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing the contract name of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>.
            </value>
            <exception cref="T:System.NotImplementedException">
                The property was not overridden by a derived class.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/> 
                    or an empty string ("").
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata">
            <summary>
                Gets the metadata of the export definition.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>. The default is an empty, read-only
                <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </value>
            <remarks>
                <para>
                    <note type="inheritinfo">
                        Overriders of this property should return a read-only
                        <see cref="T:System.Collections.Generic.IDictionary`2"/> object with a case-sensitive, 
                        non-linguistic comparer, such as <see cref="P:System.StringComparer.Ordinal"/>, 
                        and should never return <see langword="null"/>.
                        If the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> does not contain metadata 
                        return an empty <see cref="T:System.Collections.Generic.IDictionary`2"/> instead.
                    </note>
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionServices.IsAtMostOne(System.ComponentModel.Composition.Primitives.ImportCardinality)">
            <summary>
                Returns a value indicating whether cardinality is 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePart},System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePart})">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/> class.
            </summary>
            <param name="partsToAdd">The parts to add.</param>
            <param name="partsToRemove">The parts to remove.</param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddPart(System.ComponentModel.Composition.Primitives.ComposablePart)">
            <summary>
                Adds the specified part to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
            </summary>
            <param name="part">
            The part.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="part"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.RemovePart(System.ComponentModel.Composition.Primitives.ComposablePart)">
            <summary>
                Removes the specified part from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
            </summary>
            <param name="part">
            The part.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="part"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddExport(System.ComponentModel.Composition.Primitives.Export)">
            <summary>
                Adds the specified export to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
            </summary>
            <param name="export">
                The <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to add to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
            </param>
            <returns>
                A <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that can be used remove the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>
                from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="export"/> is <see langword="null"/>.
            </exception>
            <remarks>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.CompositionBatch.PartsToAdd">
            <summary>
            Returns the collection of parts that will be added.
            </summary>
            <value>The parts to be added.</value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.CompositionBatch.PartsToRemove">
            <summary>
            Returns the collection of parts that will be removed.
            </summary>
            <value>The parts to be removed.</value>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ComposablePart">
            <summary>
                Defines the <see langword="abstract"/> base class for composable parts, which 
                import and produce exported values.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.Activate">
            <summary>
                Called by the composition engine when all required imports on the part have been
                satisfied.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
                An error occurred activating the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.GetExportedValue(System.ComponentModel.Composition.Primitives.ExportDefinition)">
            <summary>
                Gets the exported value described by the specified definition.
            </summary>
            <param name="definition">
                One of the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects from the 
                <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ExportDefinitions"/> property describing the exported value
                to return.
            </param>
            <returns>
                The exported value described by <paramref name="definition"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="definition"/> did not originate from the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ExportDefinitions"/>
                property on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
                One or more pre-requisite imports, indicated by <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite"/>,
                have not been set.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
                An error occurred getting the exported value described by the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.SetImport(System.ComponentModel.Composition.Primitives.ImportDefinition,System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.Export})">
            <summary>
                Sets the import described by the specified definition with the specified exports.
            </summary>
            <param name="definition">
                One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> objects from the 
                <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ImportDefinitions"/> property describing the import to be set.
            </param>
            <param name="exports">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects of which 
                to set the import described by <paramref name="definition"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="exports"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="definition"/> did not originate from the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ImportDefinitions"/>
                property on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
                <para>
                    -or-
                </para>
                <paramref name="exports"/> contains an element that is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="exports"/> is empty and <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>.
                <para>
                    -or-
                </para>
                <paramref name="exports"/> contains more than one element and 
                <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or 
                <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
                <see cref="M:System.ComponentModel.Composition.Primitives.ComposablePart.Activate"/> has been previously called and 
                <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable"/> is <see langword="false"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
                An error occurred setting the import described by the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.ExportDefinitions">
            <summary>
                Gets the export definitions that describe the exported values provided by the part.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects describing
                the exported values provided by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
            </exception>
            <remarks>
                <para>
                    <note type="inheritinfo">
                        If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> was created from a 
                        <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>, this property should return the result of 
                        <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ExportDefinitions"/>.
                    </note>
                 </para>
                 <para>
                    <note type="inheritinfo">
                        Overriders of this property should never return <see langword="null"/>.
                        If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> does not have exports, return an empty 
                        <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
                    </note>
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.ImportDefinitions">
            <summary>
                Gets the import definitions that describe the imports required by the part.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> objects describing
                the imports required by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
            </exception>
            <remarks>
                <para>
                    <note type="inheritinfo">
                        If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> was created from a 
                        <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>, this property should return the result of 
                        <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ImportDefinitions"/>.
                    </note>
                 </para>
                 <para>
                    <note type="inheritinfo">
                        Overrides of this property should never return <see langword="null"/>.
                        If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> does not have imports, return an empty 
                        <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
                    </note>
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.Metadata">
            <summary>
                Gets the metadata of the part.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>. The default is an empty, read-only
                <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
            </exception>
            <remarks>
                <para>
                    <note type="inheritinfo">
                        If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> was created from a 
                        <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>, this property should return the result of 
                        <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.Metadata"/>.
                    </note>
                 </para>
                 <para>
                    <note type="inheritinfo">
                        Overriders of this property should return a read-only
                        <see cref="T:System.Collections.Generic.IDictionary`2"/> object with a case-sensitive, 
                        non-linguistic comparer, such as <see cref="P:System.StringComparer.Ordinal"/>, 
                        and should never return <see langword="null"/>. If the 
                        <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> does not contain metadata, return an 
                        empty <see cref="T:System.Collections.Generic.IDictionary`2"/> instead.
                    </note>
                 </para>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.AggregateCatalog">
            <summary>
                A mutable collection of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>s.  
            </summary>
            <remarks>
                This type is thread safe.
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged">
            <summary>
                Notifications when a ComposablePartCatalog changes.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.#ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog[])">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> class 
                with the specified catalogs.
            </summary>
            <param name="catalogs">
                An <see cref="T:System.Array"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> objects to add to the 
                <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="catalogs"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="catalogs"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartCatalog})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> class
                with the specified catalogs.
            </summary>
            <param name="catalogs">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> objects to add
                to the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>; or <see langword="null"/> to 
                create an <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> that is empty.
            </param>
            <exception cref="T:System.ArgumentException">
                <paramref name="catalogs"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
            <summary>
                Returns the export definitions that match the constraint defined by the specified definition.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Tuple`2"/> containing the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined 
                by <paramref name="definition"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.OnChanged(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)">
            <summary>
                Raises the <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changed"/> event.
            </summary>
            <param name="e">
                An <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.OnChanging(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)">
            <summary>
                Raises the <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changing"/> event.
            </summary>
            <param name="e">
                An <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
            </param>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.AggregateCatalog.Changed">
            <summary>
            Notify when the contents of the Catalog has changed.
            </summary>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.AggregateCatalog.Changing">
            <summary>
            Notify when the contents of the Catalog has changing.
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AggregateCatalog.Parts">
            <summary>
                Gets the part definitions of the catalog.
            </summary>
            <value>
                A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the 
                <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AggregateCatalog.Catalogs">
            <summary>
                Gets the underlying catalogs of the catalog.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.ICollection`1"/> of underlying <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> objects
                of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="T:System.ComponentModel.Composition.ExportMetadataAttribute">
            <summary>
                Specifies metadata for a type, property, field, or method marked with the
                <see cref="T:System.ComponentModel.Composition.ExportAttribute"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ExportMetadataAttribute.#ctor(System.String,System.Object)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportMetadataAttribute"/> with the 
                specified name and metadata value.
            </summary>
            <param name="name">
                A <see cref="T:System.String"/> containing the name of the metadata value; or 
                <see langword="null"/> to set the <see cref="P:System.ComponentModel.Composition.ExportMetadataAttribute.Name"/> property to an empty 
                string ("").
            </param>
            <param name="value">
                An <see cref="T:System.Object"/> containing the metadata value. This can be 
                <see langword="null"/>.
            </param>
        </member>
        <member name="P:System.ComponentModel.Composition.ExportMetadataAttribute.Name">
            <summary>
                Gets the name of the metadata value.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing the name of the metadata value.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ExportMetadataAttribute.Value">
            <summary>
                Gets the metadata value.
            </summary>
            <value>
                An <see cref="T:System.Object"/> containing the metadata value.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.CompositionContractMismatchException">
            <summary>
                The exception that is thrown when the underlying exported value or metadata of an 
                <see cref="T:System.Lazy`1"/> or <see cref="T:System.Lazy`2"/> object cannot be 
                cast to <c>T</c> or <c>TMetadataView</c>, respectively.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionContractMismatchException.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionContractMismatchException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/> class 
                with the specified error message.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionContractMismatchException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/> class 
                with the specified error message and exception that is the cause of the  
                exception.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
            <param name="innerException">
                The <see cref="T:System.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionContractMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/> class 
                with the specified serialization data.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.CompositionContractMismatchException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">
                <paramref name="info"/> is missing a required value.
            </exception>
            <exception cref="T:System.InvalidCastException">
                <paramref name="info"/> contains a value that cannot be cast to the correct type.
            </exception>
        </member>
        <member name="T:System.ComponentModel.Composition.ExportAttribute">
            <summary>
                Specifies that a type, property, field, or method provides a particular export.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type or member marked with this attribute under the default contract name.
            </summary>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the type of the 
                    property or field, or the type itself, that is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.Type)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type or member marked with this attribute under a contract name derived from the 
                specified type.
            </summary>
            <param name="contractType">
                A <see cref="T:System.Type"/> of which to derive the contract name to export the type or 
                member marked with this attribute, under; or <see langword="null"/> to use the 
                default contract name.
            </param>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on 
                    <paramref name="contractType"/>.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the type of the 
                    property or field, or the type itself, that is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type or member marked with this attribute under the specified contract name.
            </summary>
            <param name="contractName">
                 A <see cref="T:System.String"/> containing the contract name to export the type or member 
                 marked with this attribute, under; or <see langword="null"/> or an empty string 
                 ("") to use the default contract name.
            </param>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property or field 
                    type, or the type itself that this is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.String,System.Type)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type or member marked with this attribute under the specified contract name.
            </summary>
            <param name="contractName">
                 A <see cref="T:System.String"/> containing the contract name to export the type or member 
                 marked with this attribute, under; or <see langword="null"/> or an empty string 
                 ("") to use the default contract name.
            </param>
            <param name="contractType">
                A <see cref="T:System.Type"/> of which to derive the contract name to export the type or 
                member marked with this attribute, under; or <see langword="null"/> to use the 
                default contract name.
            </param>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property or field 
                    type, or the type itself that this is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.ExportAttribute.ContractName">
            <summary>
                Gets the contract name to export the type or member under.
            </summary>
            <value>
                 A <see cref="T:System.String"/> containing the contract name to export the type or member 
                 marked with this attribute, under. The default value is an empty string ("").
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ExportAttribute.ContractType">
            <summary>
                Get the contract type that is exported by the member that this attribute is attached to.
            </summary>
            <value>
                A <see cref="T:System.Type"/> of the export that is be provided. The default value is
                <see langword="null"/> which means that the type will be obtained by looking at the type on
                the member that this export is attached to. 
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.PartNotDiscoverableAttribute">
            <summary>
                Place on a type that should not be discovered as a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> in
                a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.PartNotDiscoverableAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.PartNotDiscoverableAttribute"/> class.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.CreationPolicy">
            <summary>
            Option placed on a type that controls when the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> creates 
            a new instance of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </summary>
        </member>
        <member name="F:System.ComponentModel.Composition.CreationPolicy.Any">
            <summary>
            Let the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> choose the most appropriate <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>
            for the part given the current context. This is the default <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>, with
            the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> choosing <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> by default
            unless the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> or importer requests <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/>.
            </summary>
        </member>
        <member name="F:System.ComponentModel.Composition.CreationPolicy.Shared">
            <summary>
            A single shared instance of the associated <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> will be created
            by the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> and shared by all requestors.
            </summary>
        </member>
        <member name="F:System.ComponentModel.Composition.CreationPolicy.NonShared">
            <summary>
            A new non-shared instance of the associated <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> will be created
            by the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> for every requestor.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.CompositionException">
            <summary>
                The exception that is thrown when one or more errors occur during composition in 
                a <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionException.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class 
                with the specified error message.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class 
                with the specified error message and exception that is the cause of the  
                exception.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
            <param name="innerException">
                The <see cref="T:System.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.CompositionError})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class 
                with the specified errors.
            </summary>
            <param name="errors">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.CompositionError"/> objects
                representing the errors that are the cause of the 
                <see cref="T:System.ComponentModel.Composition.CompositionException"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> property to an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </param>
            <exception cref="T:System.ArgumentException">
                <paramref name="errors"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class 
                with the specified serialization data.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.CompositionException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">
                <paramref name="info"/> is missing a required value.
            </exception>
            <exception cref="T:System.InvalidCastException">
                <paramref name="info"/> contains a value that cannot be cast to the correct type.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Gets the serialization data of the exception.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.CompositionException.Errors">
            <summary>
                Gets the errors that are the cause of the exception.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.CompositionError"/> objects
                representing the errors that are the cause of the 
                <see cref="T:System.ComponentModel.Composition.CompositionException"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.CompositionException.Message">
            <summary>
                Gets a message that describes the exception.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionException"/>.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.ChangeRejectedException">
            <summary>
                The exception that is thrown when one or more recoverable errors occur during
                composition which results in those changes being rejected.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ChangeRejectedException.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ChangeRejectedException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ChangeRejectedException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ChangeRejectedException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ChangeRejectedException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ChangeRejectedException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ChangeRejectedException.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.CompositionError})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ChangeRejectedException"/> class.
            </summary>
            <param name="errors">List of errors that occured while applying the changes.</param>
        </member>
        <member name="P:System.ComponentModel.Composition.ChangeRejectedException.Message">
            <summary>
                Gets a message that describes the exception.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.ChangeRejectedException"/>.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.ImportManyAttribute">
            <summary>
                Specifies that a property, field, or parameter imports a particular set of exports.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportManyAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportManyAttribute"/> class, importing the 
                set of exports with the default contract name.
            </summary>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the element\item type of 
                    theproperty, field, or parameter type that this is marked with this attribute.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportManyAttribute.#ctor(System.Type)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportManyAttribute"/> class, importing the
                set of exports with the contract name derived from the specified type.
            </summary>
            <param name="contractType">
                A <see cref="T:System.Type"/> of which to derive the contract name of the exports to import, or 
                <see langword="null"/> to use the default contract name.
            </param>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on 
                    <paramref name="contractType"/>.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property, field, 
                    or parameter type that is marked with this attribute.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportManyAttribute.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportManyAttribute"/> class, importing the
                set of exports with the specified contract name.
            </summary>
            <param name="contractName">
                 A <see cref="T:System.String"/> containing the contract name of the exports to import, or 
                 <see langword="null"/> or an empty string ("") to use the default contract name.
            </param>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property, field, 
                    or parameter type that is marked with this attribute.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportManyAttribute.ContractName">
            <summary>
                Gets the contract name of the exports to import.
            </summary>
            <value>
                 A <see cref="T:System.String"/> containing the contract name of the exports to import. The 
                 default value is an empty string ("").
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportManyAttribute.ContractType">
            <summary>
                Get the contract type of the export to import.
            </summary>
            <value>
                A <see cref="T:System.Type"/> of the export that this import is expecting. The default value is
                <see langword="null"/> which means that the type will be obtained by looking at the type on
                the member that this import is attached to. If the type is <see cref="T:System.Object"/> then the
                importer is delaring they can accept any exported type.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportManyAttribute.AllowRecomposition">
            <summary>
                Gets or sets a value indicating whether the property or field will be recomposed
                when exports that provide the same contract that this import expects, have changed
                in the container. 
            </summary>
            <value>
                <see langword="true"/> if the property or field allows for recomposition when exports
                that provide the same <see cref="P:System.ComponentModel.Composition.ImportManyAttribute.ContractName"/> are added or removed from the 
                <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>; otherwise, <see langword="false"/>. 
                The default value is <see langword="false"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportManyAttribute.RequiredCreationPolicy">
            <summary>
                Gets or sets a value indicating that the importer requires a specific 
                <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> for the exports used to satisfy this import. T
            </summary>
            <value>
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/> - default value, used if the importer doesn't 
                    require a specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>.
            
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> - Requires that all exports used should be shared
                    by everyone in the container.
            
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> - Requires that all exports used should be 
                    non-shared in a container and thus everyone gets their own instance.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.ImportCardinalityMismatchException">
            <summary>
                The exception that is thrown when the cardinality of a <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>
                does not match the cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects available in an 
                <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportCardinalityMismatchException.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportCardinalityMismatchException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/> class 
                with the specified error message.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportCardinalityMismatchException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/> class 
                with the specified error message and exception that is the cause of the  
                exception.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
            <param name="innerException">
                The <see cref="T:System.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportCardinalityMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/> class 
                with the specified serialization data.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.ImportCardinalityMismatchException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">
                <paramref name="info"/> is missing a required value.
            </exception>
            <exception cref="T:System.InvalidCastException">
                <paramref name="info"/> contains a value that cannot be cast to the correct type.
            </exception>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.TypeCatalog">
            <summary>
                An immutable ComposablePartCatalog created from a type array or a list of managed types.  This class is threadsafe.
                It is Disposable.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.#ctor(System.Type[])">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> class 
                with the specified types.
            </summary>
            <param name="types">
                An <see cref="T:System.Array"/> of attributed <see cref="T:System.Type"/> objects to add to the 
                <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="types"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="types"/> contains an element that is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="types"/> contains an element that was loaded in the Reflection-only context.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.#ctor(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> class
                with the specified types.
            </summary>
            <param name="types">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of attributed <see cref="T:System.Type"/> objects to add 
                to the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="types"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="types"/> contains an element that is <see langword="null"/>.
                <para>
                    -or-
                </para>
                <paramref name="types"/> contains an element that was loaded in the reflection-only context.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
            <summary>
                Returns the export definitions that match the constraint defined by the specified definition.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Tuple`2"/> containing the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined 
                by <paramref name="definition"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> has been disposed of.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>, if no 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> match the conditions defined by 
                    <paramref name="definition"/>, return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.ToString">
            <summary>
                Returns a string representation of the type catalog.
            </summary>
            <returns>
                A <see cref="T:System.String"/> containing the string representation of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
            </returns>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.TypeCatalog.Parts">
            <summary>
                Gets the part definitions of the catalog.
            </summary>
            <value>
                A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the 
                <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.TypeCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#DisplayName">
            <summary>
                Gets the display name of the type catalog.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.TypeCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#Origin">
            <summary>
                Gets the composition element from which the type catalog originated.
            </summary>
            <value>
                This property always returns <see langword="null"/>.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition">
            <summary>
                Defines the <see langword="abstract"/> base class for composable part definitions, which 
                describe, and allow the creation of, <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.CreatePart">
            <summary>
                Creates a new instance of a part that the definition describes.
            </summary>
            <returns>
                The created <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </returns>
            <remarks>
                <para>
                    <note type="inheritinfo">
                        Derived types overriding this method should return a new instance of a 
                        <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> on every invoke and should never return 
                        <see langword="null"/>.
                    </note>
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ExportDefinitions">
            <summary>
                Gets the export definitions that describe the exported values provided by parts 
                created by the definition.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects describing
                the exported values provided by <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>.
            </value>
            <remarks>
                <note type="inheritinfo">
                    Overrides of this property should never return <see langword="null"/>.
                    If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> do not provide exported values, return 
                    an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ImportDefinitions">
            <summary>
                Gets the import definitions that describe the imports required by parts created 
                by the definition.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> objects describing
                the imports required by <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>.
            </value>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>.
                    If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> do not have imports, return an empty 
                    <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
                </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.Metadata">
            <summary>
                Gets the metadata of the definition.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>. The default is an empty, read-only
                <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </value>
            <remarks>
                <para>
                    <note type="inheritinfo">
                        Overriders of this property should return a read-only
                        <see cref="T:System.Collections.Generic.IDictionary`2"/> object with a case-sensitive, 
                        non-linguistic comparer, such as <see cref="P:System.StringComparer.Ordinal"/>, 
                        and should never return <see langword="null"/>. If the 
                        <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> does contain metadata, 
                        return an empty <see cref="T:System.Collections.Generic.IDictionary`2"/> instead.
                    </note>
                </para>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.ICompositionService">
            <summary>
                Provides methods for composing <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ICompositionService.SatisfyImportsOnce(System.ComponentModel.Composition.Primitives.ComposablePart)">
            <summary>
                Sets the imports of the specified composable part exactly once and they will not
                ever be recomposed.
            </summary>
            <param name="part">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="part"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.#ctor(System.ComponentModel.Composition.Hosting.ExportProvider)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> class.
            </summary>
            <param name="sourceProvider">
                The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the 
                <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s. 
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.PreviewImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
                Previews all the required imports for the given <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to 
                ensure they can all be satisified. The preview does not actually set the imports
                only ensures that they exist in the source provider. If the preview succeeds then
                the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> also enforces that changes to exports in the source
                provider will not break any of the required imports. If this enforcement needs to be
                lifted for this part then <see cref="M:System.ComponentModel.Composition.Hosting.ImportEngine.ReleaseImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)"/> needs to be called for this
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </summary>
            <param name="part">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to preview the required imports.
            </param>
            <param name="atomicComposition"></param>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during previewing and <paramref name="atomicComposition"/> is null. 
                <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will contain a collection of errors that occurred.
                The pre-existing composition is in an unknown state, depending on the errors that occured.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.ChangeRejectedException">
                An error occurred during the previewing and <paramref name="atomicComposition"/> is not null.
                <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will contain a collection of errors that occurred.
                The pre-existing composition remains in valid state.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(System.ComponentModel.Composition.Primitives.ComposablePart)">
            <summary>
                Satisfies the imports of the specified composable part. If the satisfy succeeds then
                the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> also enforces that changes to exports in the source
                provider will not break any of the required imports. If this enforcement needs to be
                lifted for this part then <see cref="M:System.ComponentModel.Composition.Hosting.ImportEngine.ReleaseImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)"/> needs to be called for this
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </summary>
            <param name="part">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="part"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImportsOnce(System.ComponentModel.Composition.Primitives.ComposablePart)">
            <summary>
                Sets the imports of the specified composable part exactly once and they will not
                ever be recomposed.
            </summary>
            <param name="part">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="part"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.ReleaseImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
                Removes any state stored in the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> for the associated 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> and releases all the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s used to 
                satisfy the imports on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
                
                Also removes the enforcement for changes that would break a required import on
                <paramref name="part"/>.
            </summary>
            <param name="part">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to release the imports on. 
            </param>
            <param name="atomicComposition">
                The <see cref="T:System.ComponentModel.Composition.Hosting.AtomicComposition"/> that the release imports is running under.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ImportEngine.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ImportEngine.PartManager">
            <summary>
                Used by the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> to manage the composition of a given part.
                It stores things like the list of disposable exports used to satisfy the imports as
                well as the caching of the exports discovered during previewing of a part.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ImportEngine.RecompositionManager">
            <summary>
                Used by the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> to effiecently store and retrieve the list of parts
                that will be affected by changes to exports. This allows the <see cref="T:System.ComponentModel.Composition.Hosting.ImportEngine"/> to properly
                block breaking changes and also recompose imports as appropriate.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ImportEngine.EngineContext">
            <summary>
                Used to wrap the start and stop of enforcing export changes don't
                break required imports. This context is stored in a AtomicComposition.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.ImportAttribute">
            <summary>
                Specifies that a property, field, or parameter imports a particular export.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class, importing the 
                export with the default contract name.
            </summary>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property, field, 
                    or parameter type that this is marked with this attribute.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportAttribute.#ctor(System.Type)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class, importing the
                export with the contract name derived from the specified type.
            </summary>
            <param name="contractType">
                A <see cref="T:System.Type"/> of which to derive the contract name of the export to import, or 
                <see langword="null"/> to use the default contract name.
            </param>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on 
                    <paramref name="contractType"/>.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property, field, 
                    or parameter type that is marked with this attribute.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportAttribute.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class, importing the
                export with the specified contract name.
            </summary>
            <param name="contractName">
                 A <see cref="T:System.String"/> containing the contract name of the export to import, or 
                 <see langword="null"/> or an empty string ("") to use the default contract name.
            </param>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the property, field, 
                    or parameter type that is marked with this attribute.
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportAttribute.ContractName">
            <summary>
                Gets the contract name of the export to import.
            </summary>
            <value>
                 A <see cref="T:System.String"/> containing the contract name of the export to import. The 
                 default value is an empty string ("").
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportAttribute.ContractType">
            <summary>
                Get the contract type of the export to import.
            </summary>
            <value>
                A <see cref="T:System.Type"/> of the export that this import is expecting. The default value is
                <see langword="null"/> which means that the type will be obtained by looking at the type on
                the member that this import is attached to. If the type is <see cref="T:System.Object"/> then the
                importer is delaring they can accept any exported type.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportAttribute.AllowDefault">
            <summary>
                Gets or sets a value indicating whether the property, field or parameter will be set 
                to its type's default value when an export with the contract name is not present in 
                the container.
            </summary>
            <value>
                <see langword="true"/> if the property, field or parameter will be set 
                its type's default value when an export with the <see cref="P:System.ComponentModel.Composition.ImportAttribute.ContractName"/> is not 
                present in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>; otherwise, <see langword="false"/>. 
                The default value is <see langword="false"/>.
            </value>
            <remarks>
                <para>
                    The default value of a property's, field's or parameter's type is 
                    <see langword="null"/> for reference types and 0 for numeric value types. For 
                    other value types, the default value will be each field of the value type 
                    initialized to zero, if the field is a value type or <see langword="null"/> if 
                    the field is a reference type.
                </para>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportAttribute.AllowRecomposition">
            <summary>
                Gets or sets a value indicating whether the property or field will be recomposed
                when exports that provide the same contract that this import expects, have changed
                in the container. 
            </summary>
            <value>
                <see langword="true"/> if the property or field allows for recomposition when exports
                that provide the same <see cref="P:System.ComponentModel.Composition.ImportAttribute.ContractName"/> are added or removed from the 
                <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>; otherwise, <see langword="false"/>. 
                The default value is <see langword="false"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.ImportAttribute.RequiredCreationPolicy">
            <summary>
                Gets or sets a value indicating that the importer requires a specific 
                <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> for the exports used to satisfy this import. T
            </summary>
            <value>
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/> - default value, used if the importer doesn't 
                    require a specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>.
            
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> - Requires that all exports used should be shared
                    by everyone in the container.
            
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> - Requires that all exports used should be 
                    non-shared in a container and thus everyone gets their own instance.
            </value>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
            Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
            <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
            <returns></returns>
            <result>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
            the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
            empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <remarks>
            	<note type="inheritinfo">
            The implementers should not treat the cardinality-related mismatches as errors, and are not
            expected to throw exceptions in those cases.
            For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
            it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.SourceProvider">
            <summary>
                Gets the export provider which provides the provider access to
                exports.
            </summary>
            <value>
                The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the 
                <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects. 
                The default is <see langword="null"/>.
            </value>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="value"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.InvalidOperationException">
                This property has already been set.
                <para>
                    -or-
                </para>
                The methods on the <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> 
                have already been accessed.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> has been disposed of.
            </exception>
            <remarks>
                This property must be set before accessing any methods on the 
                <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/>.
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.CompositionError">
            <summary>
                Represents an error that occurs during composition in a <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
                with the specified error message.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.CompositionError.Description"/> property to an empty string ("").
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
                with the specified error message and composition element that is the
                cause of the composition error.
            </summary>
            <param name="element">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
                the <see cref="P:System.ComponentModel.Composition.CompositionError.Element"/> property to 
                <see langword="null"/>.
            </param>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.CompositionError.Description"/> property to an empty string ("").
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class 
                with the specified error message and exception that is the cause of the  
                composition error.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.CompositionError.Description"/> property to an empty string ("").
            </param>
            <param name="exception">
                The <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
                the <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class 
                with the specified error message, and composition element and exception that 
                is the cause of the composition error.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the 
                <see cref="P:System.ComponentModel.Composition.CompositionError.Description"/> property to an empty string ("").
            </param>
            <param name="element">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
                the <see cref="P:System.ComponentModel.Composition.CompositionError.Element"/> property to 
                <see langword="null"/>.
            </param>
            <param name="exception">
                The <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
                the <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class 
                with the specified serialization data.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">
                <paramref name="info"/> is missing a required value.
            </exception>
            <exception cref="T:System.InvalidCastException">
                <paramref name="info"/> contains a value that cannot be cast to the correct type.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.ToString">
            <summary>
                Returns a string representation of the composition error.
            </summary>
            <returns>
                A <see cref="T:System.String"/> containing the <see cref="P:System.ComponentModel.Composition.CompositionError.Description"/> property.
            </returns>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Gets the serialization data of the exception.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.CompositionError.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Gets the serialization data of the exception.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.CompositionError.Element">
            <summary>
                Gets the composition element that is the cause of the error.
            </summary>
            <value>
                The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>. The default is <see langword="null"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.CompositionError.Description">
            <summary>
                Gets the message that describes the composition error.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a message that describes the
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.CompositionError.Exception">
            <summary>
                Gets the exception that is the underlying cause of the composition error.
            </summary>
            <value>
                The <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.CompositionError"/>. The default is <see langword="null"/>.
            </value>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.#ctor(System.String)">
            <summary>
                Creates a catalog of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>s based on all the *.dll files 
                in the given directory path.
                
                Possible exceptions that can be thrown are any that <see cref="M:System.IO.Directory.GetFiles(System.String,System.String)"/> or 
                <see cref="M:System.Reflection.Assembly.Load(System.Reflection.AssemblyName)"/> can throw.
            </summary>
            <param name="path">
                Path to the directory to scan for assemblies to add to the catalog.
                The path needs to be absolute or relative to <see cref="P:System.AppDomain.BaseDirectory"/>
            </param>
            <exception cref="T:System.ArgumentException">
                If <paramref name="path"/> is a zero-length string, contains only white space, or 
                contains one or more implementation-specific invalid characters.
            </exception>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="path"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
                The specified <paramref name="path"/> is invalid (for example, it is on an unmapped drive). 
            </exception>
            <exception cref="T:System.IO.PathTooLongException">
                The specified <paramref name="path"/>, file name, or both exceed the system-defined maximum length. 
                For example, on Windows-based platforms, paths must be less than 248 characters and file names must 
                be less than 260 characters. 
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
                The caller does not have the required permission. 
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.#ctor(System.String,System.String)">
            <summary>
                Creates a catalog of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>s based on all the given searchPattern 
                over the files in the given directory path.
                
                Possible exceptions that can be thrown are any that <see cref="M:System.IO.Directory.GetFiles(System.String,System.String)"/> or 
                <see cref="M:System.Reflection.Assembly.Load(System.Reflection.AssemblyName)"/> can throw.
            </summary>
            <param name="path">
                Path to the directory to scan for assemblies to add to the catalog.
                The path needs to be absolute or relative to <see cref="P:System.AppDomain.BaseDirectory"/>
            </param>
            <param name="searchPattern">
                Any valid searchPattern that <see cref="M:System.IO.Directory.GetFiles(System.String,System.String)"/> will accept.
            </param>
            <exception cref="T:System.ArgumentException">
                If <paramref name="path"/> is a zero-length string, contains only white space, or 
                contains one or more implementation-specific invalid characters. Or <paramref name="searchPattern"/> 
                does not contain a valid pattern. 
            </exception>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="path"/> is <see langword="null"/> or <paramref name="searchPattern"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.IO.DirectoryNotFoundException">
                The specified <paramref name="path"/> is invalid (for example, it is on an unmapped drive). 
            </exception>
            <exception cref="T:System.IO.PathTooLongException">
                The specified <paramref name="path"/>, file name, or both exceed the system-defined maximum length. 
                For example, on Windows-based platforms, paths must be less than 248 characters and file names must 
                be less than 260 characters. 
            </exception>
            <exception cref="T:System.UnauthorizedAccessException">
                The caller does not have the required permission. 
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
            <summary>
                Returns the export definitions that match the constraint defined by the specified definition.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Tuple`2"/> containing the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined 
                by <paramref name="definition"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.OnChanged(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)">
            <summary>
                Raises the <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changed"/> event.
            </summary>
            <param name="e">
                An <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.OnChanging(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)">
            <summary>
                Raises the <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changing"/> event.
            </summary>
            <param name="e">
                An <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Refresh">
            <summary>
                Refreshes the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>s with the latest files in the directory that match
                the searchPattern. If any files have been added they will be added to the catalog and if any files were
                removed they will be removed from the catalog. For files that have been removed keep in mind that the 
                assembly cannot be unloaded from the process so <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>s for those files
                will simply be removed from the catalog.
            
                Possible exceptions that can be thrown are any that <see cref="M:System.IO.Directory.GetFiles(System.String,System.String)"/> or 
                <see cref="M:System.Reflection.Assembly.Load(System.Reflection.AssemblyName)"/> can throw.
            </summary>
            <exception cref="T:System.IO.DirectoryNotFoundException">
                The specified <paramref name="path"/> has been removed since object construction.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.ToString">
            <summary>
                Returns a string representation of the directory catalog.
            </summary>
            <returns>
                A <see cref="T:System.String"/> containing the string representation of the <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
            </returns>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.FullPath">
            <summary>
                Translated absolute path of the path passed into the constructor of <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>. 
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.LoadedFiles">
            <summary>
                Set of files that have currently been loaded into the catalog.
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Path">
            <summary>
                Path passed into the constructor of <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Parts">
            <summary>
                Gets the part definitions of the directory catalog.
            </summary>
            <value>
                A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the 
                <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.SearchPattern">
            <summary>
              SearchPattern passed into the constructor of <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>, or the default *.dll.
            </summary>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Changed">
            <summary>
            Notify when the contents of the Catalog has changed.
            </summary>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Changing">
            <summary>
            Notify when the contents of the Catalog has changing.
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#DisplayName">
            <summary>
                Gets the display name of the directory catalog.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#Origin">
            <summary>
                Gets the composition element from which the directory catalog originated.
            </summary>
            <value>
                This property always returns <see langword="null"/>.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog">
            <summary>
                An immutable ComposablePartCatalog created from a managed code assembly.
            </summary>
            <remarks>
                This type is thread safe.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> class 
                with the specified code base.
            </summary>
            <param name="codeBase">
                A <see cref="T:System.String"/> containing the code base of the assembly containing the
                attributed <see cref="T:System.Type"/> objects to add to the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="codeBase"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="codeBase"/> is a zero-length string, contains only white space, 
                or contains one or more invalid characters as defined by <see cref="F:System.IO.Path.InvalidPathChars"/>.
            </exception>
            <exception cref="T:System.IO.PathTooLongException">
                The specified path, file name, or both exceed the system-defined maximum length. 
            </exception>
            <exception cref="T:System.Security.SecurityException">
                The caller does not have path discovery permission. 
            </exception>
            <exception cref="T:System.IO.FileNotFoundException">
                <paramref name="codeBase"/> is not found.
            </exception>
            <exception cref="T:System.IO.FileLoadException">
                <paramref name="codeBase"/> could not be loaded.
                <para>
                    -or-
                </para>
                <paramref name="codeBase"/> specified a directory.
            </exception>
            <exception cref="T:System.BadImageFormatException">
                <paramref name="codeBase"/> is not a valid assembly
                -or- 
                Version 2.0 or later of the common language runtime is currently loaded 
                and <paramref name="codeBase"/> was compiled with a later version. 
            </exception>
            <remarks>
                The assembly referenced by <paramref langword="codeBase"/> is loaded into the Load context.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.#ctor(System.Reflection.Assembly)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> class 
                with the specified assembly.
            </summary>
            <param name="assembly">
                The <see cref="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Assembly"/> containing the attributed <see cref="T:System.Type"/> objects to 
                add to the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
            </param>
            <exception cref="T:System.ArgumentException">
                <paramref name="assembly"/> is <see langword="null"/>.
                <para>
                    -or-
                </para>    
                <paramref name="assembly"/> was loaded in the reflection-only context.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
            <summary>
                Returns the export definitions that match the constraint defined by the specified definition.
            </summary>
            <param name="definition">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
            </param>
            <returns>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Tuple`2"/> containing the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined 
                by <paramref name="definition"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="definition"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> has been disposed of.
            </exception>
            <remarks>
                <note type="inheritinfo">
                    Overriders of this property should never return <see langword="null"/>, if no 
                    <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> match the conditions defined by 
                    <paramref name="definition"/>, return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
                </note>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.ToString">
            <summary>
                Returns a string representation of the assembly catalog.
            </summary>
            <returns>
                A <see cref="T:System.String"/> containing the string representation of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
            </returns>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Parts">
            <summary>
                Gets the part definitions of the assembly catalog.
            </summary>
            <value>
                A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the 
                <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> has been disposed of.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Assembly">
            <summary>
                Gets the assembly containing the attributed types contained within the assembly
                catalog.
            </summary>
            <value>
                The <see cref="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Assembly"/> containing the attributed <see cref="T:System.Type"/> objects
                contained within the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#DisplayName">
            <summary>
                Gets the display name of the assembly catalog.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#Origin">
            <summary>
                Gets the composition element from which the assembly catalog originated.
            </summary>
            <value>
                This property always returns <see langword="null"/>.
            </value>
        </member>
        <member name="M:System.ComponentModel.Composition.AttributedModelServices.SatisfyImportsOnce(System.ComponentModel.Composition.ICompositionService,System.Object)">
            <summary>
                Satisfies the imports of the specified attributed object exactly once and they will not
                ever be recomposed.
            </summary>
            <param name="part">
                The attributed object to set the imports.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="attributedPart"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
            </exception>
        </member>
        <member name="T:System.ComponentModel.Composition.InheritedExportAttribute">
            <summary>
                Specifies that a type or interface that provides a particular export.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.InheritedExportAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type marked with this attribute under the default contract name.
            </summary>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the type itself, 
                    that is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.InheritedExportAttribute.#ctor(System.Type)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type marked with this attribute under a contract name derived from the specified type.
            </summary>
            <param name="contractType">
                A <see cref="T:System.Type"/> of which to derive the contract name to export the type  
                marked with this attribute, under; or <see langword="null"/> to use the 
                default contract name.
            </param>
            <remarks>
                <para>
                    The contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on 
                    <paramref name="contractType"/>.
                </para>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on the type of the 
                    itself, that is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.InheritedExportAttribute.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type or member marked with this attribute under the specified contract name.
            </summary>
            <param name="contractName">
                 A <see cref="T:System.String"/> containing the contract name to export the type 
                 marked with this attribute, under; or <see langword="null"/> or an empty string 
                 ("") to use the default contract name.
            </param>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on 
                    the type itself that this is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.InheritedExportAttribute.#ctor(System.String,System.Type)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
                type or member marked with this attribute under the specified contract name.
            </summary>
            <param name="contractName">
                 A <see cref="T:System.String"/> containing the contract name to export the type 
                 marked with this attribute, under; or <see langword="null"/> or an empty string 
                 ("") to use the default contract name.
            </param>
            <param name="contractType">
                A <see cref="T:System.Type"/> of which to derive the contract name to export the type  
                marked with this attribute, under; or <see langword="null"/> to use the 
                default contract name.
            </param>
            <remarks>
                <para>
                    The default contract name is the result of calling 
                    <see cref="M:System.ComponentModel.Composition.AttributedModelServices.GetContractName(System.Type)"/> on 
                    the type itself that this is marked with this attribute. 
                </para>
                <para>
                    The contract name is compared using a case-sensitive, non-linguistic comparison 
                    using <see cref="P:System.StringComparer.Ordinal"/>.
                </para>
            </remarks>
        </member>
        <member name="T:System.ComponentModel.Composition.ImportingConstructorAttribute">
            <summary>
                Specifies that a constructor should be used when constructing an attributed part.
            </summary>
            <remarks>
                By default, only a default parameter-less constructor, if available, is used to 
                construct an attributed part. Use this attribute to indicate that a specific constructor 
                should be used.
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.ImportingConstructorAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportingConstructorAttribute"/> class.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.AtomicComposition">
            <summary>
            AtomicComposition provides lightweight atomicCompositional semantics to enable temporary
            state to be managed for a series of nested atomicCompositions.  Each atomicComposition maintains
            queryable state along with a sequence of actions necessary to complete the state when
            the atomicComposition is no longer in danger of being rolled back.  State is completed or
            rolled back when the atomicComposition is disposed, depending on the state of the
            CompleteOnDipose property which defaults to false.  The using(...) pattern in C# is a
            convenient mechanism for defining atomicComposition scopes.
            
            The least obvious aspects of AtomicComposition deal with nesting.
            
            Firstly, no complete actions are actually performed until the outermost atomicComposition is
            completed.  Completeting or rolling back nested atomicCompositions serves only to change which
            actions would be completed the outer atomicComposition.
            
            Secondly, state is added in the form of queries associated with an object key.  The
            key represents a unique object the state is being held on behalf of.  The quieries are
            accessed throught the Query methods which provide automatic chaining to execute queries
            across the target atomicComposition and its inner atomicComposition as appropriate.
            
            Lastly, when a nested atomicComposition is created for a given outer the outer atomicComposition is locked.
            It remains locked until the inner atomicComposition is disposed or completeed preventing the addition of
            state, actions or other inner atomicCompositions.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.PartMetadataAttribute">
            <summary>
                Specifies metadata for a type to be used as a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> and
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.PartMetadataAttribute.#ctor(System.String,System.Object)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.PartMetadataAttribute"/> with the 
                specified name and metadata value.
            </summary>
            <param name="name">
                A <see cref="T:System.String"/> containing the name of the metadata value; or 
                <see langword="null"/> to use an empty string ("").
            </param>
            <param name="value">
                An <see cref="T:System.Object"/> containing the metadata value. This can be 
                <see langword="null"/>.
            </param>
        </member>
        <member name="P:System.ComponentModel.Composition.PartMetadataAttribute.Name">
            <summary>
                Gets the name of the metadata value.
            </summary>
            <value>
                A <see cref="T:System.String"/> containing the name of the metadata value.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.PartMetadataAttribute.Value">
            <summary>
                Gets the metadata value.
            </summary>
            <value>
                An <see cref="T:System.Object"/> containing the metadata value.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.PartCreationPolicyAttribute">
            <summary>
                Specifies <see cref="P:System.ComponentModel.Composition.PartCreationPolicyAttribute.CreationPolicy"/> for a given <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.PartCreationPolicyAttribute.#ctor(System.ComponentModel.Composition.CreationPolicy)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.PartCreationPolicyAttribute"/> class.
            </summary>
        </member>
        <member name="P:System.ComponentModel.Composition.PartCreationPolicyAttribute.CreationPolicy">
            <summary>
                Gets or sets a value indicating the creation policy of the attributed part.
            </summary>
            <value>
                One of the <see cref="P:System.ComponentModel.Composition.PartCreationPolicyAttribute.CreationPolicy"/> values indicating the creation policy of the 
                attributed part. The default is 
                <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/>.
            </value>
        </member>
        <member name="T:System.ComponentModel.Composition.MetadataAttributeAttribute">
            <summary>
                Specifies that an attribute can be used to provide metadata for a type, property, field,
                or method marked with the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.MetadataAttributeAttribute.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.MetadataAttributeAttribute"/> class.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection">
            <summary>
                This class implements a threadsafe ICollection{T} of ComposablePartCatalog.
                It is exposed as an ICollection(ComposablePartCatalog)
                It is threadsafe, notifications are not marshalled using a SynchronizationContext.
                It is Disposable.
            </summary>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.Changed">
            <summary>
            Notify when the contents of the Catalog has changed.
            </summary>
        </member>
        <member name="E:System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.Changing">
            <summary>
            Notify when the contents of the Catalog has changing.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs">
            <summary>
                Provides data for the <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changed"/> and
                <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changing"/> events.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartDefinition},System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartDefinition},System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs"/>.
            </summary>
            <param name="addedDefinitions">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects that 
                are being added to the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
            </param>
            <param name="removedDefinitions">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects that 
                are being removed from the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
            </param>
            <param name="atomicComposition">
                A <see cref="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.AtomicComposition"/> representing all tentative changes that will
                be completed if the change is successful, or discarded if it is not. 
                <see langword="null"/> if being applied outside a <see cref="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.AtomicComposition"/> 
                or during a <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changed"/> event.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="addedDefinitions"/> or <paramref name="removedDefinitions"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.AddedDefinitions">
            <summary>
                Gets the identifiers of the parts that have been added.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects that 
                have been added to the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.RemovedDefinitions">
            <summary>
                Gets the identifiers of the parts that have been removed.
            </summary>
            <value>
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects that 
                have been removed from from the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.AtomicComposition">
            <summary>
                Gets the atomicComposition, if any, that this change applies to.
            </summary>
            <value>
                A <see cref="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.AtomicComposition"/> that this set of changes applies too. 
                It can be <see langword="null"/> if the changes are being applied outside a 
                <see cref="P:System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.AtomicComposition"/> or during a 
                <see cref="E:System.ComponentModel.Composition.Hosting.INotifyComposablePartCatalogChanged.Changed"/> event.
                
                When the value is non-null it should be used to record temporary changed state
                and actions that will be executed when the atomicComposition is completeed.
            </value>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.#ctor(System.ComponentModel.Composition.Hosting.ExportProvider[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> class.
            </summary>
            <param name="providers">The prioritized list of export providers.</param>
            <remarks>
                <para>
                    The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> will consult the providers in the order they have been specfied when 
                    executing <see cref="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)"/>. 
                </para>
                <para>
                    The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> does not take ownership of the specified providers. 
                    That is, it will not try to dispose of any of them when it gets disposed.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Hosting.ExportProvider})">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> class.
            </summary>
            <param name="providers">The prioritized list of export providers. The providers are consulted in order in which they are supplied.</param>
            <remarks>
                <para>
                    The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> will consult the providers in the order they have been specfied when 
                    executing <see cref="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)"/>. 
                </para>
                <para>
                    The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> does not take ownership of the specified providers. 
                    That is, it will not try to dispose of any of them when it gets disposed.
                </para>
            </remarks>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
            Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
            <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
            <returns></returns>
            <result>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
            the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
            empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <remarks>
            	<note type="inheritinfo">
            The implementers should not treat the cardinality-related mismatches as errors, and are not
            expected to throw exceptions in those cases.
            For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
            it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.AggregateExportProvider.Providers">
            <summary>
                Gets the export providers which the aggregate export provider aggregates.
            </summary>
            <value>
                A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects
                which the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> aggregates.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> has been disposed of.
            </exception>
        </member>
        <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
            <summary>
                The exception that is thrown when an error occurs when calling methods on a
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class 
                with the specified error message.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
            <param name="element">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartException.Element"/> property to 
                <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class 
                with the specified error message and composition element that is the cause of
                the exception.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class 
                with the specified error message and exception that is the cause of the  
                exception.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
            <param name="innerException">
                The <see cref="T:System.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class 
                with the specified error message, and composition element and exception that 
                are the cause of the exception.
            </summary>
            <param name="message">
                A <see cref="T:System.String"/> containing a message that describes the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.Message"/> property to its default value.
            </param>
            <param name="element">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartException.Element"/> property to 
                <see langword="null"/>.
            </param>
            <param name="innerException">
                The <see cref="T:System.Exception"/> that is the underlying cause of the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
                the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
            </param>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class 
                with the specified serialization data.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.Runtime.Serialization.SerializationException">
                <paramref name="info"/> is missing a required value.
            </exception>
            <exception cref="T:System.InvalidCastException">
                <paramref name="info"/> contains a value that cannot be cast to the correct type.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
                Gets the serialization data of the exception.
            </summary>
            <param name="info">
                The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the 
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
            </param>
            <param name="context">
                The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the 
                source or destination.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="info"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartException.Element">
            <summary>
                Gets the composition element that is the cause of the exception.
            </summary>
            <value>
                The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>. The default is <see langword="null"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.CompositionResult`1.Value">
            <summary>
                Gets the value from the result, throwing a CompositionException if there are any errors.
            </summary>
        </member>
        <member name="T:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs">
            <summary>
                Provides data for the <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged"/> and 
                <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanging"/> events.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ExportDefinition},System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ExportDefinition},System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs"/> class with 
                the specified changed export definitions.
            </summary>
            <param name="addedExports">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>s of the exports
                that have been added.
            </param>
            <param name="removedExports">
                An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>s of the exports
                that have been removed.
            </param>
            <param name="atomicComposition">
                A <see cref="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.AtomicComposition"/> representing all tentative changes that will
                be completed if the change is successful, or discarded if it is not. 
                <see langword="null"/> if being applied outside a <see cref="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.AtomicComposition"/> 
                or during a <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged"/> event.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="addedExports"/> or <paramref name="removedExports"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.AddedExports">
            <summary>
                Gets the export definitions for the exports that have been added.
            </summary>
            <value>
                A <see cref="T:System.Collections.Generic.IEnumerable`1"/> of ExportDefinitions representing 
                the exports that have been added to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.RemovedExports">
            <summary>
                Gets the export definitions for the exports that have been removed.
            </summary>
            <value>
                A <see cref="T:System.Collections.Generic.IEnumerable`1"/> of ExportDefinitions representing 
                the exports that have been added to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.ChangedContractNames">
            <summary>
                Gets the contract names of the exports that have changed.
            </summary>
            <value>
                A <see cref="T:System.Collections.Generic.IEnumerable`1"/> of strings representing the contract names of 
                the exports that have changed in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
            </value>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.AtomicComposition">
            <summary>
                Gets the atomicComposition, if any, that this change applies to.
            </summary>
            <value>
                A <see cref="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.AtomicComposition"/> that this set of changes applies too. 
                
                It can be <see langword="null"/> if the changes are being applied outside a 
                <see cref="P:System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.AtomicComposition"/> or during a 
                <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged"/> event.
                
                When the value is non-null it should be used to record temporary changed state
                and actions that will be executed when the atomicComposition is completeed.
            </value>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.#ctor">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> class.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.#ctor(System.ComponentModel.Composition.Hosting.ExportProvider[])">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> class 
                with the specified export providers.
            </summary>
            <param name="providers">
                A <see cref="T:System.Array"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects which provide 
                the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects,
                or <see langword="null"/> to set <see cref="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Providers"/> to an empty
                <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/>.
            </param>
            <exception cref="T:System.ArgumentException">
                <paramref name="providers"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.#ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.ExportProvider[])">
            <summary>
                Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> class 
                with the specified catalog and export providers.
            </summary>
            <param name="providers">
                A <see cref="T:System.Array"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects which provide 
                the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects,
                or <see langword="null"/> to set <see cref="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Providers"/> to an empty 
                <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/>.
            </param>
            <exception cref="T:System.ArgumentException">
                <paramref name="providers"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport(System.ComponentModel.Composition.Primitives.Export)">
             <summary>
                 Releases the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>. The behavior
                 may vary depending on the implementation of the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> that produced 
                 the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> instance. As a general rule non shared exports should be early 
                 released causing them to be detached from the container.
            
                 For example the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> will only release 
                 an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> if it comes from a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that was constructed
                 under a <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> context. Release in this context means walking
                 the dependency chain of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s, detaching references from the container and 
                 calling Dispose on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>s as needed. If the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                 was constructed under a <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> context the 
                 <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> will do nothing as it may be in use by other requestors. 
                 Those will only be detached when the container is itself disposed.
             </summary>
             <param name="export"><see cref="T:System.ComponentModel.Composition.Primitives.Export"/> that needs to be released.</param>
             <exception cref="T:System.ArgumentNullException">
                 <paramref name="export"/> is <see langword="null"/>.
             </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport``1(System.Lazy{``0})">
             <summary>
                 Releases the <see cref="T:System.Lazy`1"/> from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>. The behavior
                 may vary depending on the implementation of the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> that produced 
                 the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> instance. As a general rule non shared exports should be early 
                 released causing them to be detached from the container.
            
                 For example the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> will only release 
                 an <see cref="T:System.Lazy`1"/> if it comes from a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that was constructed
                 under a <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> context. Release in this context means walking
                 the dependency chain of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s, detaching references from the container and 
                 calling Dispose on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>s as needed. If the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> 
                 was constructed under a <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> context the 
                 <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> will do nothing as it may be in use by other requestors. 
                 Those will only be detached when the container is itself disposed.
             </summary>
             <param name="export"><see cref="T:System.ComponentModel.Composition.Primitives.Export"/> that needs to be released.</param>
             <exception cref="T:System.ArgumentNullException">
                 <paramref name="export"/> is <see langword="null"/>.
             </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExports(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.Export})">
            <summary>
                Releases a set of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>. 
                See also <see cref="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport(System.ComponentModel.Composition.Primitives.Export)"/>.
            </summary>
            <param name="exports"><see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s that need to be released.</param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="exports"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="exports"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExports``1(System.Collections.Generic.IEnumerable{System.Lazy{``0}})">
            <summary>
                Releases a set of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>. 
                See also <see cref="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport(System.ComponentModel.Composition.Primitives.Export)"/>.
            </summary>
            <param name="exports"><see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s that need to be released.</param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="exports"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="exports"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExports``2(System.Collections.Generic.IEnumerable{System.Lazy{``0,``1}})">
            <summary>
                Releases a set of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>. 
                See also <see cref="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport(System.ComponentModel.Composition.Primitives.Export)"/>.
            </summary>
            <param name="exports"><see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s that need to be released.</param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="exports"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
                <paramref name="exports"/> contains an element that is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.SatisfyImportsOnce(System.ComponentModel.Composition.Primitives.ComposablePart)">
            <summary>
                Sets the imports of the specified composable part exactly once and they will not
                ever be recomposed.
            </summary>
            <param name="part">
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports.
            </param>
            <exception cref="T:System.ArgumentNullException">
                <paramref name="part"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ComponentModel.Composition.CompositionException">
                An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
                contain a collection of errors that occurred.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
            </exception>
        </member>
        <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)">
            <summary>
            Returns all exports that match the conditions of the specified import.
            </summary>
            <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
            <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
            <returns></returns>
            <result>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
            the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
            empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
            </result>
            <remarks>
            	<note type="inheritinfo">
            The implementers should not treat the cardinality-related mismatches as errors, and are not
            expected to throw exceptions in those cases.
            For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
            it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
            </note>
            </remarks>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Catalog">
            <summary>
                Gets the catalog which provides the container access to exports produced
                from composable parts.
            </summary>
            <value>
                The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> which provides the 
                <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to exports produced from
                <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects. The default is <see langword="null"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Providers">
            <summary>
                Gets the export providers which provide the container access to additional exports.
            </summary>
            <value>
                A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects
                which provide the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to additional
                <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects. The default is an empty 
                <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/>.
            </value>
            <exception cref="T:System.ObjectDisposedException">
                The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
            </exception>
        </member>
        <member name="M:Microsoft.Internal.GenerationServices.LoadValue(System.Reflection.Emit.ILGenerator,System.Object)">
            Generates the code that loads the supplied value on the stack
            This is not as simple as it seems, as different instructions need to be generated depending
            on its type.
            We support:
            1. All primitive types
            2. Strings
            3. Enums
            4. typeofs
            5. nulls
            6. Enumerables
            7. Delegates on static functions or any of the above
            Everything else cannot be represented as literals
            <param name="ilGenerator"></param>
            <param name="item"></param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Internal.GenerationServices.AddItemToLocalDictionary(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Object,System.Object)">
            Generates the code that adds an object to a dictionary stored in a local variable
            <param name="ilGenerator"></param>
            <param name="dictionary"></param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Internal.GenerationServices.AddLocalToLocalDictionary(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Object,System.Reflection.Emit.LocalBuilder)">
            Generates the code that adds an object from a local variable to a dictionary also stored in a local
            <param name="ilGenerator"></param>
            <param name="dictionary"></param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Internal.GenerationServices.GetExceptionDataAndStoreInLocal(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Reflection.Emit.LocalBuilder)">
            Generates the code to get the type of an object and store it in a local
            <param name="ilGenerator"></param>
            <param name="dictionary"></param>
            <param name="key"></param>
            <param name="value"></param>
            <returns></returns>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
India India
Architect, Developer, Speaker | Wannabe GUT inventor & Data Scientist | Microsoft MVP in C#

Comments and Discussions