main
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>System.ComponentModel.Composition</name>
5 </assembly>
6 <members>
7 <member name="M:Microsoft.Internal.GenerationServices.LoadValue(System.Reflection.Emit.ILGenerator,System.Object)">
8 Generates the code that loads the supplied value on the stack
9 This is not as simple as it seems, as different instructions need to be generated depending
10 on its type.
11 We support:
12 1. All primitive types
13 2. Strings
14 3. Enums
15 4. typeofs
16 5. nulls
17 6. Dictionaries of (string, object) recursively containing all of the above
18 7. Enumerables
19 8. Delegates on static functions or any of the above
20 Everything else cannot be represented as literals
21 <param name="ilGenerator"></param>
22 <param name="item"></param>
23 <param name="key"></param>
24 <param name="value"></param>
25 <returns></returns>
26 </member>
27 <member name="T:Microsoft.Internal.Strings">
28 <summary>
29 A strongly-typed resource class, for looking up localized strings, etc.
30 </summary>
31 </member>
32 <member name="P:Microsoft.Internal.Strings.ResourceManager">
33 <summary>
34 Returns the cached ResourceManager instance used by this class.
35 </summary>
36 </member>
37 <member name="P:Microsoft.Internal.Strings.Culture">
38 <summary>
39 Overrides the current thread's CurrentUICulture property for all
40 resource lookups using this strongly typed resource class.
41 </summary>
42 </member>
43 <member name="P:Microsoft.Internal.Strings.Adapter_CannotAdaptFromAndToSameContract">
44 <summary>
45 Looks up a localized string similar to The adapter '{0}' indicates that it adapts to and from the same contract; '{1}'. Adapter must adapt to and from different contracts..
46 </summary>
47 </member>
48 <member name="P:Microsoft.Internal.Strings.Adapter_CannotAdaptNullOrEmptyFromOrToContract">
49 <summary>
50 Looks up a localized string similar to The adapter '{0}' provided an null, empty or malformed 'to' and/or 'from' contract. Adapters must specify both 'to' and 'from' contracts using a string or a type..
51 </summary>
52 </member>
53 <member name="P:Microsoft.Internal.Strings.Adapter_ContractMismatch">
54 <summary>
55 Looks up a localized string similar to The adapter '{0}' indicates that it adapts to contract '{1}', however, it returned an export with contract '{2}'. Adapters must return exports that have the same contract that the adapter indicates it adapts to..
56 </summary>
57 </member>
58 <member name="P:Microsoft.Internal.Strings.Adapter_ExceptionDuringAdapt">
59 <summary>
60 Looks up a localized string similar to The adapter '{0}' threw an exception while to adapt from contract '{1}' to contract '{2}'..
61 </summary>
62 </member>
63 <member name="P:Microsoft.Internal.Strings.Adapter_TypeMismatch">
64 <summary>
65 Looks up a localized string similar to The available adapter '{0}' is of type '{1}'. Adapters must be of type '{2}'..
66 </summary>
67 </member>
68 <member name="P:Microsoft.Internal.Strings.Adapter_TypeNull">
69 <summary>
70 Looks up a localized string similar to The available adapter '{0}' is a null reference (Nothing in Visual Basic). Adapter must be of type '{2}'..
71 </summary>
72 </member>
73 <member name="P:Microsoft.Internal.Strings.Argument_AssemblyReflectionOnly">
74 <summary>
75 Looks up a localized string similar to '{0}' is a reflection-only assembly which is not supported..
76 </summary>
77 </member>
78 <member name="P:Microsoft.Internal.Strings.Argument_ElementReflectionOnlyType">
79 <summary>
80 Looks up a localized string similar to '{0}' contains a reflection-only type which is not supported..
81 </summary>
82 </member>
83 <member name="P:Microsoft.Internal.Strings.Argument_ExportsEmpty">
84 <summary>
85 Looks up a localized string similar to 'exports' cannot be empty when ImportDefinition.ImportCardinality is ImportCardinality.ExactlyOne..
86 </summary>
87 </member>
88 <member name="P:Microsoft.Internal.Strings.Argument_ExportsTooMany">
89 <summary>
90 Looks up a localized string similar to 'exports' cannot contain more than one element when ImportDefinition.ImportCardinality is ImportCardinality.ZeroOrOne or ImportCardinality.ExactlyOne..
91 </summary>
92 </member>
93 <member name="P:Microsoft.Internal.Strings.Argument_NullElement">
94 <summary>
95 Looks up a localized string similar to '{0}' cannot contain a null (Nothing in Visual Basic) element..
96 </summary>
97 </member>
98 <member name="P:Microsoft.Internal.Strings.ArgumentException_EmptyString">
99 <summary>
100 Looks up a localized string similar to '{0}' cannot be an empty string ("")..
101 </summary>
102 </member>
103 <member name="P:Microsoft.Internal.Strings.ArgumentOutOfRange_InvalidEnum">
104 <summary>
105 Looks up a localized string similar to The value of argument '{0}' ({1}) is invalid for Enum type '{2}'..
106 </summary>
107 </member>
108 <member name="P:Microsoft.Internal.Strings.ArgumentValueType">
109 <summary>
110 Looks up a localized string similar to The argument was a value type which is not supported..
111 </summary>
112 </member>
113 <member name="P:Microsoft.Internal.Strings.AssemblyFileNotFoundOrWrongType">
114 <summary>
115 Looks up a localized string similar to Assembly file {0} is either not found or not a dll or exe file..
116 </summary>
117 </member>
118 <member name="P:Microsoft.Internal.Strings.AssemblyInformationCannotBeCached">
119 <summary>
120 Looks up a localized string similar to Information about the assembly '{0}' because it has been loaded from the network or the byte stream. Only assemblies loaded from files on disk are supported..
121 </summary>
122 </member>
123 <member name="P:Microsoft.Internal.Strings.CacheableCatalogMustHaveProperConstructor">
124 <summary>
125 Looks up a localized string similar to The catalog '{0}' cannot be cached because it doesn't have a public constructor that accepts '{1}' as an argument..
126 </summary>
127 </member>
128 <member name="P:Microsoft.Internal.Strings.CachingFieldNotFound">
129 <summary>
130 Looks up a localized string similar to Invalid cache : field '{1}' on type '{0}' is not found..
131 </summary>
132 </member>
133 <member name="P:Microsoft.Internal.Strings.CachingMethodNotFound">
134 <summary>
135 Looks up a localized string similar to Invalid cache : method '{1}' on type '{0}' is not found..
136 </summary>
137 </member>
138 <member name="P:Microsoft.Internal.Strings.CachingTypeNotFound">
139 <summary>
140 Looks up a localized string similar to Invalid cache : type '{0}' is not found..
141 </summary>
142 </member>
143 <member name="P:Microsoft.Internal.Strings.CannotCreateMetadataView">
144 <summary>
145 Looks up a localized string similar to Cannot create a MetadataView of metadataViewType '{0}'..
146 </summary>
147 </member>
148 <member name="P:Microsoft.Internal.Strings.CardinalityMismatch_NoExports">
149 <summary>
150 Looks up a localized string similar to No exports were found that match the constraint '{0}'..
151 </summary>
152 </member>
153 <member name="P:Microsoft.Internal.Strings.CardinalityMismatch_TooManyExports">
154 <summary>
155 Looks up a localized string similar to More than one exports were found that match the constraint '{0}'..
156 </summary>
157 </member>
158 <member name="P:Microsoft.Internal.Strings.CatalogDoesNotSupportCaching">
159 <summary>
160 Looks up a localized string similar to The catalog doesn't support caching..
161 </summary>
162 </member>
163 <member name="P:Microsoft.Internal.Strings.CatalogIsNotCacheable">
164 <summary>
165 Looks up a localized string similar to The catalog cannot be cached as at least one of the contained catalogs does not support caching : '{0}'..
166 </summary>
167 </member>
168 <member name="P:Microsoft.Internal.Strings.CompositionElement_UnknownOrigin">
169 <summary>
170 Looks up a localized string similar to Unknown Origin.
171 </summary>
172 </member>
173 <member name="P:Microsoft.Internal.Strings.CompositionEngine_ComposeTookTooManyIterations">
174 <summary>
175 Looks up a localized string similar to The composition failed because it did not complete within '{0:N0}' 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..
176 </summary>
177 </member>
178 <member name="P:Microsoft.Internal.Strings.CompositionEngine_PartCannotActivate">
179 <summary>
180 Looks up a localized string similar to Cannot activate part '{0}'..
181 </summary>
182 </member>
183 <member name="P:Microsoft.Internal.Strings.CompositionEngine_PartCannotGetExportedObject">
184 <summary>
185 Looks up a localized string similar to Cannot get export '{0}' from part '{1}'..
186 </summary>
187 </member>
188 <member name="P:Microsoft.Internal.Strings.CompositionEngine_PartCannotSetImport">
189 <summary>
190 Looks up a localized string similar to Cannot set import '{0}' on part '{1}'..
191 </summary>
192 </member>
193 <member name="P:Microsoft.Internal.Strings.CompositionEngine_PartCycle">
194 <summary>
195 Looks up a localized string similar to Cannot compose part '{0}' 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..
196 </summary>
197 </member>
198 <member name="P:Microsoft.Internal.Strings.CompositionException_ErrorPrefix">
199 <summary>
200 Looks up a localized string similar to Resulting in:.
201 </summary>
202 </member>
203 <member name="P:Microsoft.Internal.Strings.CompositionException_MultipleErrorsWithMultiplePaths">
204 <summary>
205 Looks up a localized string similar to The composition produced multiple composition errors, with {0:N0} root causes. The root causes are provided below..
206 </summary>
207 </member>
208 <member name="P:Microsoft.Internal.Strings.CompositionException_ReviewErrorProperty">
209 <summary>
210 Looks up a localized string similar to Review the CompositionException.Errors property for more detailed information..
211 </summary>
212 </member>
213 <member name="P:Microsoft.Internal.Strings.CompositionException_SingleErrorWithMultiplePaths">
214 <summary>
215 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..
216 </summary>
217 </member>
218 <member name="P:Microsoft.Internal.Strings.CompositionException_SingleErrorWithSinglePath">
219 <summary>
220 Looks up a localized string similar to The composition produced a single composition error. The root cause is provided below..
221 </summary>
222 </member>
223 <member name="P:Microsoft.Internal.Strings.ContractMismatch_ExportedObjectCannotBeCastToT">
224 <summary>
225 Looks up a localized string similar to Cannot cast the underlying exported object of type '{0}' to type '{1}'..
226 </summary>
227 </member>
228 <member name="P:Microsoft.Internal.Strings.DirectoryNotFound">
229 <summary>
230 Looks up a localized string similar to Directory '{0}' could not be found..
231 </summary>
232 </member>
233 <member name="P:Microsoft.Internal.Strings.ExportDefinitionNotOnThisComposablePart">
234 <summary>
235 Looks up a localized string similar to {0} did not originate from the ExportDefinitions property on this ComposablePart or its ComposablePartDefinition..
236 </summary>
237 </member>
238 <member name="P:Microsoft.Internal.Strings.ImportDefinitionNotOnThisComposablePart">
239 <summary>
240 Looks up a localized string similar to {0} did not originate from the ImportDefinitions property on this ComposablePart or its ComposablePartDefinition..
241 </summary>
242 </member>
243 <member name="P:Microsoft.Internal.Strings.ImportNotSetOnPart">
244 <summary>
245 Looks up a localized string similar to Could not finishing composing object of type '{0}'. The import '{1}' was not satisfied..
246 </summary>
247 </member>
248 <member name="P:Microsoft.Internal.Strings.InternalExceptionMessage">
249 <summary>
250 Looks up a localized string similar to Internal error occurred. Additional information: '{0}'..
251 </summary>
252 </member>
253 <member name="P:Microsoft.Internal.Strings.InvalidCacheToken">
254 <summary>
255 Looks up a localized string similar to Invalid cache token : '{0}'.
256 </summary>
257 </member>
258 <member name="P:Microsoft.Internal.Strings.InvalidMetadataView">
259 <summary>
260 Looks up a localized string similar to The Type '{0}' supplied is not a valid Metadata View..
261 </summary>
262 </member>
263 <member name="P:Microsoft.Internal.Strings.InvalidOperation_DefinitionCannotBeRecomposed">
264 <summary>
265 Looks up a localized string similar to 'definition' cannot be set after OnComposed has been called because ImportDefinition.IsRecomposable is false..
266 </summary>
267 </member>
268 <member name="P:Microsoft.Internal.Strings.InvalidOperation_GetExportedObjectBeforePrereqImportSet">
269 <summary>
270 Looks up a localized string similar to GetExportedObject cannot be called before prerequisite import '{0}' has been set..
271 </summary>
272 </member>
273 <member name="P:Microsoft.Internal.Strings.InvalidOperationReentrantCompose">
274 <summary>
275 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..
276 </summary>
277 </member>
278 <member name="P:Microsoft.Internal.Strings.MetadataItemNotSupported">
279 <summary>
280 Looks up a localized string similar to This export does not support the metadata item '{0}'..
281 </summary>
282 </member>
283 <member name="P:Microsoft.Internal.Strings.MustProvideExportNameWhenExportingMethods">
284 <summary>
285 Looks up a localized string similar to Must provide export name specifically when exporting methods..
286 </summary>
287 </member>
288 <member name="P:Microsoft.Internal.Strings.NotImplemented_NotOverriddenByDerived">
289 <summary>
290 Looks up a localized string similar to The {0} member must be overridden by a derived class..
291 </summary>
292 </member>
293 <member name="P:Microsoft.Internal.Strings.NotSupportedReadOnlyDictionary">
294 <summary>
295 Looks up a localized string similar to The underlying dictionary is read-only..
296 </summary>
297 </member>
298 <member name="P:Microsoft.Internal.Strings.ObjectAlreadyInitialized">
299 <summary>
300 Looks up a localized string similar to This property cannot be set after the object's public surface has been accessed..
301 </summary>
302 </member>
303 <member name="P:Microsoft.Internal.Strings.ObjectMustBeInitialized">
304 <summary>
305 Looks up a localized string similar to This object has not been initialized - the property '{0}' must be set..
306 </summary>
307 </member>
308 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ExportMethodTooManyParameters">
309 <summary>
310 Looks up a localized string similar to Cannot create a delegate wrapper for method '{0}' because it has {1:N0} parameters. To be represented as one of the 'System.Action' or 'System.Func' delegate types, a method must have less than 5 parameters..
311 </summary>
312 </member>
313 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ExportNotReadable">
314 <summary>
315 Looks up a localized string similar to Cannot get the value of property '{0}', because the member is not readable. The property must have an accessible getter..
316 </summary>
317 </member>
318 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ExportThrewException">
319 <summary>
320 Looks up a localized string similar to An exception occurred while trying to get the value of property '{0}'..
321 </summary>
322 </member>
323 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionNotWritable">
324 <summary>
325 Looks up a localized string similar to Cannot populate the value of enumerable field or property, '{0}' because the member's type does not have accessible 'Add' and/or 'Clear' methods. The member must be either a collection type, or writable and assignable from type '{1}'..
326 </summary>
327 </member>
328 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportCollectionNull">
329 <summary>
330 Looks up a localized string similar to Cannot populate the value of enumerable field or property '{0}' because the member returned null (Nothing in Visual Basic). The member must either be pre-initialized by the type, or writable and assignable from type '{1}'..
331 </summary>
332 </member>
333 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportNotAssignableFromExport">
334 <summary>
335 Looks up a localized string similar to The export '{0}' is not assignable to type '{1}'..
336 </summary>
337 </member>
338 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportNotWritable">
339 <summary>
340 Looks up a localized string similar to Cannot set the value of field or property '{0}' 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..
341 </summary>
342 </member>
343 <member name="P:Microsoft.Internal.Strings.ReflectionModel_ImportThrewException">
344 <summary>
345 Looks up a localized string similar to An exception occurred while trying to set the value of property '{0}'..
346 </summary>
347 </member>
348 <member name="P:Microsoft.Internal.Strings.ReflectionModel_PartConstructorMissing">
349 <summary>
350 Looks up a localized string similar to Cannot create an instance of type '{0}' 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 'System.ComponentModel.Composition.ImportingConstructorAttribute'..
351 </summary>
352 </member>
353 <member name="P:Microsoft.Internal.Strings.ReflectionModel_PartConstructorThrewException">
354 <summary>
355 Looks up a localized string similar to An exception occurred while trying to create an instance of type '{0}'..
356 </summary>
357 </member>
358 <member name="P:Microsoft.Internal.Strings.ReflectionModel_PartImportCompletedThrewException">
359 <summary>
360 Looks up a localized string similar to An exception occurred while calling the 'ImportCompleted' method on type '{0}'..
361 </summary>
362 </member>
363 <member name="P:Microsoft.Internal.Strings.SetMethodsNotSupported">
364 <summary>
365 Looks up a localized string similar to Set Methods not supported '{0}'..
366 </summary>
367 </member>
368 <member name="P:Microsoft.Internal.Strings.TypeCatalog_Empty">
369 <summary>
370 Looks up a localized string similar to <Empty>.
371 </summary>
372 </member>
373 <member name="P:Microsoft.Internal.Strings.UnsupportedCachedValue">
374 <summary>
375 Looks up a localized string similar to Objects of type '{0}' cannot be written into the cache..
376 </summary>
377 </member>
378 <member name="T:System.ComponentModel.Composition.Primitives.ComposablePart">
379 <summary>
380 Defines the <see langword="abstract"/> base class for composable parts, which
381 import and produce exported objects.
382 </summary>
383 </member>
384 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.#ctor">
385 <summary>
386 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> class.
387 </summary>
388 </member>
389 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.Dispose">
390 <summary>
391 Releases all resources used by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
392 </summary>
393 </member>
394 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.OnComposed">
395 <summary>
396 Called by the composition engine when all required imports on the part have been
397 satisfied.
398 </summary>
399 <exception cref="T:System.ObjectDisposedException">
400 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
401 </exception>
402 <exception cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
403 An error occurred activating the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
404 </exception>
405 </member>
406 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.GetExportedObject(System.ComponentModel.Composition.Primitives.ExportDefinition)">
407 <summary>
408 Gets the exported object described by the specified definition.
409 </summary>
410 <param name="definition">
411 One of the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects from the
412 <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ExportDefinitions"/> property describing the exported object
413 to return.
414 </param>
415 <returns>
416 The exported <see cref="T:System.Object"/> described by <paramref name="definition"/>.
417 </returns>
418 <exception cref="T:System.ArgumentNullException">
419 <paramref name="definition"/> is <see langword="null"/>.
420 </exception>
421 <exception cref="T:System.ArgumentException">
422 <paramref name="definition"/> did not originate from the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ExportDefinitions"/>
423 property on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
424 </exception>
425 <exception cref="T:System.InvalidOperationException">
426 One or more pre-requisite imports, indicated by <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite"/>,
427 have not been set.
428 </exception>
429 <exception cref="T:System.ObjectDisposedException">
430 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
431 </exception>
432 <exception cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
433 An error occurred getting the exported object described by the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>.
434 </exception>
435 </member>
436 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.SetImport(System.ComponentModel.Composition.Primitives.ImportDefinition,System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.Export})">
437 <summary>
438 Sets the import described by the specified definition with the specified exports.
439 </summary>
440 <param name="definition">
441 One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> objects from the
442 <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ImportDefinitions"/> property describing the import to be set.
443 </param>
444 <param name="exports">
445 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects of which
446 to set the import described by <paramref name="definition"/>.
447 </param>
448 <exception cref="T:System.ArgumentNullException">
449 <paramref name="definition"/> is <see langword="null"/>.
450 <para>
451 -or-
452 </para>
453 <paramref name="exports"/> is <see langword="null"/>.
454 </exception>
455 <exception cref="T:System.ArgumentException">
456 <paramref name="definition"/> did not originate from the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePart.ImportDefinitions"/>
457 property on the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
458 <para>
459 -or-
460 </para>
461 <paramref name="exports"/> contains an element that is <see langword="null"/>.
462 <para>
463 -or-
464 </para>
465 <paramref name="exports"/> is empty and <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is
466 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>.
467 <para>
468 -or-
469 </para>
470 <paramref name="exports"/> contains more than one element and
471 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or
472 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>.
473 </exception>
474 <exception cref="T:System.InvalidOperationException">
475 <see cref="M:System.ComponentModel.Composition.Primitives.ComposablePart.OnComposed"/> has been previously called and
476 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable"/> is <see langword="false"/>.
477 </exception>
478 <exception cref="T:System.ObjectDisposedException">
479 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
480 </exception>
481 <exception cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
482 An error occurred setting the import described by the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
483 </exception>
484 </member>
485 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePart.Dispose(System.Boolean)">
486 <summary>
487 Releases the unmanaged resources used by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> and
488 optionally releases the managed resources.
489 </summary>
490 <param name="disposing">
491 <see langword="true"/> to release both managed and unmanaged resources;
492 <see langword="false"/> to release only unmanaged resources.
493 </param>
494 </member>
495 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.ExportDefinitions">
496 <summary>
497 Gets the export definitions that describe the exported objects provided by the part.
498 </summary>
499 <value>
500 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects describing
501 the exported objects provided by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
502 </value>
503 <exception cref="T:System.ObjectDisposedException">
504 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
505 </exception>
506 <remarks>
507 <para>
508 <note type="inheritinfo">
509 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> was created from a
510 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>, this property should return the result of
511 <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ExportDefinitions"/>.
512 </note>
513 </para>
514 <para>
515 <note type="inheritinfo">
516 Overriders of this property should never return <see langword="null"/>.
517 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> does not have exports, return an empty
518 <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
519 </note>
520 </para>
521 </remarks>
522 </member>
523 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.ImportDefinitions">
524 <summary>
525 Gets the import definitions that describe the imports required by the part.
526 </summary>
527 <value>
528 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> objects describing
529 the imports required by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
530 </value>
531 <exception cref="T:System.ObjectDisposedException">
532 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
533 </exception>
534 <remarks>
535 <para>
536 <note type="inheritinfo">
537 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> was created from a
538 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>, this property should return the result of
539 <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ImportDefinitions"/>.
540 </note>
541 </para>
542 <para>
543 <note type="inheritinfo">
544 Overrides of this property should never return <see langword="null"/>.
545 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> does not have imports, return an empty
546 <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
547 </note>
548 </para>
549 </remarks>
550 </member>
551 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.Metadata">
552 <summary>
553 Gets the metadata of the part.
554 </summary>
555 <value>
556 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
557 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>. The default is an empty, read-only
558 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
559 </value>
560 <exception cref="T:System.ObjectDisposedException">
561 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> has been disposed of.
562 </exception>
563 <remarks>
564 <para>
565 <note type="inheritinfo">
566 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> was created from a
567 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>, this property should return the result of
568 <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.Metadata"/>.
569 </note>
570 </para>
571 <para>
572 <note type="inheritinfo">
573 Overriders of this property should return a read-only
574 <see cref="T:System.Collections.Generic.IDictionary`2"/> object with a case-sensitive,
575 non-linguistic comparer, such as <see cref="P:System.StringComparer.Ordinal"/>,
576 and should never return <see langword="null"/>. If the
577 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> does not contain metadata, return an
578 empty <see cref="T:System.Collections.Generic.IDictionary`2"/> instead.
579 </note>
580 </para>
581 </remarks>
582 </member>
583 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePart.RequiresDisposal">
584 <summary>
585 Determines if this <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> requires its dispose method called. This
586 is to help prevent memory bloat by the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> because it
587 doesn't need to hold strong references to <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that aren't disposable.
588
589 The value of this property should be constant throughout the lifetime of the part because some
590 code such as the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> will use it to determine if it should
591 hold a reference to this part for disposal.
592 </summary>
593 <returns>
594 <see langword="true"/> if this part should have its dispose called;
595 otherwise <see langword="false"/> which is the default.
596 </returns>
597 </member>
598 <member name="T:System.ComponentModel.Composition.Primitives.ICompositionElement">
599 <summary>
600 Represents an element that participates in composition.
601 </summary>
602 </member>
603 <member name="P:System.ComponentModel.Composition.Primitives.ICompositionElement.DisplayName">
604 <summary>
605 Gets the display name of the composition element.
606 </summary>
607 <value>
608 A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/>.
609 </value>
610 <remarks>
611 <note type="implementnotes">
612 Implementors of this property should never return <see langword="null"/> or an empty
613 string ("").
614 </note>
615 </remarks>
616 </member>
617 <member name="P:System.ComponentModel.Composition.Primitives.ICompositionElement.Origin">
618 <summary>
619 Gets the composition element from which the current composition element
620 originated.
621 </summary>
622 <value>
623 A <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> from which the current
624 <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> originated, or <see langword="null"/>
625 if the <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> is the root composition element.
626 </value>
627 </member>
628 <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition">
629 <summary>
630 Defines the <see langword="abstract"/> base class for composable part definitions, which
631 describe, and allow the creation of, <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects.
632 </summary>
633 </member>
634 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.#ctor">
635 <summary>
636 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> class.
637 </summary>
638 </member>
639 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.CreatePart">
640 <summary>
641 Creates a new instance of a part that the definition describes.
642 </summary>
643 <returns>
644 The created <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
645 </returns>
646 <remarks>
647 <para>
648 <note type="inheritinfo">
649 Derived types overriding this method should return a new instance of a
650 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> on every invoke and should never return
651 <see langword="null"/>.
652 </note>
653 </para>
654 </remarks>
655 </member>
656 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ExportDefinitions">
657 <summary>
658 Gets the export definitions that describe the exported objects provided by parts
659 created by the definition.
660 </summary>
661 <value>
662 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects describing
663 the exported objects provided by <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the
664 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>.
665 </value>
666 <remarks>
667 <note type="inheritinfo">
668 Overrides of this property should never return <see langword="null"/>.
669 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the
670 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> do not provide exported objects, return
671 an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
672 </note>
673 </remarks>
674 </member>
675 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.ImportDefinitions">
676 <summary>
677 Gets the import definitions that describe the imports required by parts created
678 by the definition.
679 </summary>
680 <value>
681 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> objects describing
682 the imports required by <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the
683 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>.
684 </value>
685 <remarks>
686 <note type="inheritinfo">
687 Overriders of this property should never return <see langword="null"/>.
688 If the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects created by the
689 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> do not have imports, return an empty
690 <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
691 </note>
692 </remarks>
693 </member>
694 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartDefinition.Metadata">
695 <summary>
696 Gets the metadata of the definition.
697 </summary>
698 <value>
699 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
700 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/>. The default is an empty, read-only
701 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
702 </value>
703 <remarks>
704 <para>
705 <note type="inheritinfo">
706 Overriders of this property should return a read-only
707 <see cref="T:System.Collections.Generic.IDictionary`2"/> object with a case-sensitive,
708 non-linguistic comparer, such as <see cref="P:System.StringComparer.Ordinal"/>,
709 and should never return <see langword="null"/>. If the
710 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> does contain metadata,
711 return an empty <see cref="T:System.Collections.Generic.IDictionary`2"/> instead.
712 </note>
713 </para>
714 </remarks>
715 </member>
716 <member name="T:System.ComponentModel.Composition.Primitives.ExportDefinition">
717 <summary>
718 Describes the contract that an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> object satisfies.
719 </summary>
720 </member>
721 <member name="M:System.ComponentModel.Composition.Primitives.ExportDefinition.#ctor">
722 <summary>
723 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> class.
724 </summary>
725 <remarks>
726 <note type="inheritinfo">
727 Derived types calling this constructor must override <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName"/>
728 and optionally, <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/>. By default, <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/>
729 returns an empty, read-only dictionary.
730 </note>
731 </remarks>
732 </member>
733 <member name="M:System.ComponentModel.Composition.Primitives.ExportDefinition.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
734 <summary>
735 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> class with
736 the specified contract name and metadata.
737 </summary>
738 <param name="contractName">
739 A <see cref="T:System.String"/> containing the contract name of the
740 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>.
741 </param>
742 <param name="metadata">
743 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
744 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>; or <see langword="null"/> to set the
745 <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/> property to an empty, read-only
746 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
747 </param>
748 <exception cref="T:System.ArgumentNullException">
749 <paramref name="contractName"/> is <see langword="null"/>.
750 </exception>
751 <exception cref="T:System.ArgumentException">
752 <paramref name="contractName"/> is an empty string ("").
753 </exception>
754 </member>
755 <member name="M:System.ComponentModel.Composition.Primitives.ExportDefinition.ToString">
756 <summary>
757 Returns a string representation of the export definition.
758 </summary>
759 <returns>
760 A <see cref="T:System.String"/> containing the value of the <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName"/> property.
761 </returns>
762 </member>
763 <member name="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName">
764 <summary>
765 Gets the contract name of the export definition.
766 </summary>
767 <value>
768 A <see cref="T:System.String"/> containing the contract name of the
769 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>.
770 </value>
771 <exception cref="T:System.NotImplementedException">
772 The property was not overridden by a derived class.
773 </exception>
774 <remarks>
775 <note type="inheritinfo">
776 Overriders of this property should never return <see langword="null"/>
777 or an empty string ("").
778 </note>
779 </remarks>
780 </member>
781 <member name="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata">
782 <summary>
783 Gets the metadata of the export definition.
784 </summary>
785 <value>
786 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
787 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>. The default is an empty, read-only
788 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
789 </value>
790 <remarks>
791 <para>
792 <note type="inheritinfo">
793 Overriders of this property should return a read-only
794 <see cref="T:System.Collections.Generic.IDictionary`2"/> object with a case-sensitive,
795 non-linguistic comparer, such as <see cref="P:System.StringComparer.Ordinal"/>,
796 and should never return <see langword="null"/>.
797 If the <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> does not contain metadata
798 return an empty <see cref="T:System.Collections.Generic.IDictionary`2"/> instead.
799 </note>
800 </para>
801 </remarks>
802 </member>
803 <member name="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition">
804 <summary>
805 Represents a contract name and metadata-based import
806 required by a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> object.
807 </summary>
808 </member>
809 <member name="T:System.ComponentModel.Composition.Primitives.ImportDefinition">
810 <summary>
811 Represents an import required by a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> object.
812 </summary>
813 </member>
814 <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.#ctor">
815 <summary>
816 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> class.
817 </summary>
818 <remarks>
819 <note type="inheritinfo">
820 Derived types calling this constructor must override the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint"/>
821 property, and optionally, the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite"/>
822 and <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable"/>
823 properties.
824 </note>
825 </remarks>
826 </member>
827 <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.#ctor(System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}},System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean)">
828 <summary>
829 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> class
830 with the specified constraint, cardinality, value indicating if the import
831 definition is recomposable and a value indicating if the import definition
832 is a prerequisite.
833 </summary>
834 <param name="constraint">
835 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
836 that defines the conditions that must be matched for the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>
837 to be satisfied by an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
838 </param>
839 <param name="cardinality">
840 One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the
841 cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
842 <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
843 </param>
844 <param name="isRecomposable">
845 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> can be satisfied
846 multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise,
847 <see langword="false"/>.
848 </param>
849 <param name="isPrerequisite">
850 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> is required to be
851 satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported
852 objects; otherwise, <see langword="false"/>.
853 </param>
854 <exception cref="T:System.ArgumentNullException">
855 <paramref name="constraint"/> is <see langword="null"/>.
856 </exception>
857 <exception cref="T:System.ArgumentException">
858 <paramref name="cardinality"/> is not one of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/>
859 values.
860 </exception>
861 </member>
862 <member name="M:System.ComponentModel.Composition.Primitives.ImportDefinition.ToString">
863 <summary>
864 Returns a string representation of the import definition.
865 </summary>
866 <returns>
867 A <see cref="T:System.String"/> containing the value of the <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint"/> property.
868 </returns>
869 </member>
870 <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality">
871 <summary>
872 Gets the cardinality of the exports required by the import definition.
873 </summary>
874 <value>
875 One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the
876 cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
877 <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>. The default is
878 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>
879 </value>
880 </member>
881 <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Constraint">
882 <summary>
883 Gets an expression that defines conditions that must be matched for the import
884 described by the import definition to be satisfied.
885 </summary>
886 <returns>
887 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
888 that defines the conditions that must be matched for the
889 <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> to be satisfied by an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
890 </returns>
891 <exception cref="T:System.NotImplementedException">
892 The property was not overridden by a derived class.
893 </exception>
894 <remarks>
895 <note type="inheritinfo">
896 Overriders of this property should never return <see langword="null"/>.
897 </note>
898 </remarks>
899 </member>
900 <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite">
901 <summary>
902 Gets a value indicating whether the import definition is required to be
903 satisfied before a part can start producing exported objects.
904 </summary>
905 <value>
906 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> is required to be
907 satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported
908 objects; otherwise, <see langword="false"/>. The default is <see langword="true"/>.
909 </value>
910 </member>
911 <member name="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable">
912 <summary>
913 Gets a value indicating whether the import definition can be satisfied multiple times.
914 </summary>
915 <value>
916 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> can be satisfied
917 multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise,
918 <see langword="false"/>. The default is <see langword="false"/>.
919 </value>
920 </member>
921 <member name="M:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#ctor">
922 <summary>
923 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> class.
924 </summary>
925 <remarks>
926 <note type="inheritinfo">
927 Derived types calling this constructor must override the <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.ContractName"/>
928 property, and optionally, the <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata"/>,
929 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/>, <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsPrerequisite"/>,
930 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.IsRecomposable"/> and <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredCreationPolicy"/> properties.
931 </note>
932 </remarks>
933 </member>
934 <member name="M:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#ctor(System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean)">
935 <summary>
936 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> class
937 with the specified contract name, cardinality, value indicating if the import
938 definition is recomposable and a value indicating if the import definition
939 is a prerequisite.
940 </summary>
941 <param name="contractName">
942 A <see cref="T:System.String"/> containing the contract name of the
943 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
944 </param>
945 <param name="cardinality">
946 One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the
947 cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
948 <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
949 </param>
950 <param name="isRecomposable">
951 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> can be satisfied
952 multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise,
953 <see langword="false"/>.
954 </param>
955 <param name="isPrerequisite">
956 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> is required to be
957 satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported
958 objects; otherwise, <see langword="false"/>.
959 </param>
960 <exception cref="T:System.ArgumentNullException">
961 <paramref name="contractName"/> is <see langword="null"/>.
962 </exception>
963 <exception cref="T:System.ArgumentException">
964 <paramref name="contractName"/> is an empty string ("").
965 <para>
966 -or-
967 </para>
968 <paramref name="cardinality"/> is not one of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/>
969 values.
970 </exception>
971 </member>
972 <member name="M:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#ctor(System.String,System.Collections.Generic.IEnumerable{System.String},System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy)">
973 <summary>
974 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> class
975 with the specified contract name, required metadataq, cardinality, value indicating
976 if the import definition is recomposable and a value indicating if the import definition
977 is a prerequisite.
978 </summary>
979 <param name="contractName">
980 A <see cref="T:System.String"/> containing the contract name of the
981 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
982 </param>
983 <param name="requiredMetadata">
984 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.String"/> objects containing
985 the metadata names of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the
986 <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>; or <see langword="null"/> to
987 set the <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata"/> property to an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
988 </param>
989 <param name="cardinality">
990 One of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/> values indicating the
991 cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects required by the
992 <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
993 </param>
994 <param name="isRecomposable">
995 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> can be satisfied
996 multiple times throughout the lifetime of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>, otherwise,
997 <see langword="false"/>.
998 </param>
999 <param name="isPrerequisite">
1000 <see langword="true"/> if the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/> is required to be
1001 satisfied before a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> can start producing exported
1002 objects; otherwise, <see langword="false"/>.
1003 </param>
1004 <exception cref="T:System.ArgumentNullException">
1005 <paramref name="contractName"/> is <see langword="null"/>.
1006 </exception>
1007 <exception cref="T:System.ArgumentException">
1008 <paramref name="contractName"/> is an empty string ("").
1009 <para>
1010 -or-
1011 </para>
1012 <paramref name="requiredMetadata"/> contains an element that is <see langword="null"/>.
1013 <para>
1014 -or-
1015 </para>
1016 <paramref name="cardinality"/> is not one of the <see cref="T:System.ComponentModel.Composition.Primitives.ImportCardinality"/>
1017 values.
1018 </exception>
1019 </member>
1020 <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.ContractName">
1021 <summary>
1022 Gets the contract name of the export required by the import definition.
1023 </summary>
1024 <value>
1025 A <see cref="T:System.String"/> containing the contract name of the
1026 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>.
1027 </value>
1028 <exception cref="T:System.NotImplementedException">
1029 The property was not overridden by a derived class.
1030 </exception>
1031 <remarks>
1032 <note type="inheritinfo">
1033 Overriders of this property should never return <see langword="null"/>
1034 or an empty string ("").
1035 </note>
1036 </remarks>
1037 </member>
1038 <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata">
1039 <summary>
1040 Gets the metadata names of the export required by the import definition.
1041 </summary>
1042 <value>
1043 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.String"/> objects containing
1044 the metadata names of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> required by the
1045 <see cref="T:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition"/>. The default is an empty
1046 <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
1047 </value>
1048 <remarks>
1049 <note type="inheritinfo">
1050 Overriders of this property should never return <see langword="null"/>
1051 or return an <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains an element that is
1052 <see langword="null"/>. If the definition does not contain required metadata,
1053 return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> instead.
1054 </note>
1055 </remarks>
1056 </member>
1057 <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredCreationPolicy">
1058 <summary>
1059 Gets or sets a value indicating that the importer requires a specific
1060 <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> for the exports used to satisfy this import. T
1061 </summary>
1062 <value>
1063 <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/> - default value, used if the importer doesn't
1064 require a specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>.
1065
1066 <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> - Requires that all exports used should be shared
1067 by everyone in the container.
1068
1069 <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> - Requires that all exports used should be
1070 non-shared in a container and thus everyone gets their own instance.
1071 </value>
1072 </member>
1073 <member name="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.Constraint">
1074 <summary>
1075 Gets an expression that defines conditions that must be matched for the import
1076 described by the import definition to be satisfied.
1077 </summary>
1078 <returns>
1079 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
1080 that defines the conditions that must be matched for the
1081 <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> to be satisfied by an <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
1082 </returns>
1083 <remarks>
1084 <para>
1085 This property returns an expression that defines conditions based on the
1086 <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.ContractName"/> and <see cref="P:System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.RequiredMetadata"/> properties.
1087 </para>
1088 </remarks>
1089 </member>
1090 <member name="T:System.ComponentModel.Composition.Caching.AttributedModel.AttributedComposablePartCatalogSite">
1091 <summary>
1092 This cached catalog site is used by all catalogs that containe AttributedComposablePartDefinitions
1093 </summary>
1094 </member>
1095 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCache.GetCacheCatalog(System.ComponentModel.Composition.Caching.ICachedComposablePartCatalogSite)">
1096 <summary>
1097 Returns the catalog that represents the cache. Note, that this is not the originally cached catalog, bur rather a representation
1098 of the cached part definitions.
1099 </summary>
1100 <param name="catalogSite"></param>
1101 <returns></returns>
1102 </member>
1103 <member name="P:System.ComponentModel.Composition.Caching.ComposablePartCatalogCache.Metadata">
1104 <summary>
1105 Catalog metadata
1106 </summary>
1107 </member>
1108 <member name="P:System.ComponentModel.Composition.Caching.ComposablePartCatalogCache.Reader">
1109 <summary>
1110 The reader that has provided the cache
1111 </summary>
1112 </member>
1113 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader.ReadCacheCore(System.Object)">
1114 <summary>
1115 Reads the catalog cache given the cache token.
1116 </summary>
1117 <param name="cacheToken">The cache token.</param>
1118 <returns>The catalog cache corresponding to the specified cache token.</returns>
1119 </member>
1120 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader.ReadCatalog(System.Object)">
1121 <summary>
1122 Reads the catalog from the cache given the specified cache token. This methos trows if thew catalog with the given
1123 token doesn't exist.
1124 </summary>
1125 <param name="cacheToken">The cache token.</param>
1126 <returns>The catalog corresponding to the specified cache token.</returns>
1127 </member>
1128 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader.ReadRootCatalog">
1129 <summary>
1130 Reads the root catalog from the cache
1131 </summary>
1132 <returns>The root catalog.</returns>
1133 </member>
1134 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader.Dispose">
1135 <summary>
1136 Releases all the resources allocated by the <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader"/> and completes the cache writing.
1137 </summary>
1138 </member>
1139 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader.Dispose(System.Boolean)">
1140 <summary>
1141 Releases all the resources allocated by the <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter"/> and completes the cache writing.
1142 </summary>
1143 <param name="disposing">Is called from Dispose() if set to <c>true</c>, otherwise is called from the finalizer.</param>
1144 </member>
1145 <member name="P:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheReader.RootCacheToken">
1146 <summary>
1147 Returns the cache token corresponding to the root catalog in the cache.
1148 </summary>
1149 </member>
1150 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter.WriteCache(System.Type,System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartDefinition},System.Collections.Generic.IDictionary{System.String,System.Object},System.ComponentModel.Composition.Caching.ICachedComposablePartCatalogSite)">
1151 <summary>
1152 Writes part definitions and catalog metadata into the cache.
1153 </summary>
1154 <param name="catalogType">Catalog type.</param>
1155 <param name="partDefinitions">Parts definitions.</param>
1156 <param name="catalogMetadata">Catalog Metadata.</param>
1157 <param name="catalogSite">Catalog Site</param>
1158 <returns>Catalog cache token. This value can be cached and used to locate this cache wen reading from the cache.</returns>
1159 </member>
1160 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter.WriteCacheCore(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartDefinition},System.Collections.Generic.IDictionary{System.String,System.Object},System.ComponentModel.Composition.Caching.ICachedComposablePartCatalogSite)">
1161 <summary>
1162 Writes part definitions and catalog metadata into the cache.
1163 </summary>
1164 <param name="partDefinitions">Parts definitions.</param>
1165 <param name="catalogMetadata">Catalog Metadata.</param>
1166 <param name="catalogSite">Catalog Site</param>
1167 <returns>Catalog cache token. This value can be cached and used to locate this cache wen reading from the cache.</returns>
1168 </member>
1169 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter.WriteRootCacheToken(System.Object)">
1170 <summary>
1171 Sets "root" catalog of the cache - that is one that the corresponding <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCache"/> will open first when the
1172 appropriate storage is read. This method may be called multiple times; the last set value is expected to be written to the cache when the
1173 <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter"/> is disposed.
1174 </summary>
1175 <param name="catalogToken">Value returned by a call to WriteCache.</param>
1176 </member>
1177 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter.Dispose">
1178 <summary>
1179 Releases all the resources allocated by the <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter"/> and completes the cache writing.
1180 </summary>
1181 </member>
1182 <member name="M:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter.Dispose(System.Boolean)">
1183 <summary>
1184 Releases all the resources allocated by the <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter"/> and completes the cache writing.
1185 </summary>
1186 <param name="disposing">Is called from Dispose() if set to <c>true</c>, otherwise is called from the finalizer.</param>
1187 </member>
1188 <member name="T:System.ComponentModel.Composition.Caching.EmptyCachedComposablePartCatalogSite">
1189 <summary>
1190 This is used by catalogs that don't actually have any parts, but only metadata.
1191 We use this type when "null" is passed for the site.
1192 </summary>
1193 </member>
1194 <member name="M:System.ComponentModel.Composition.Caching.ICachedComposablePartCatalog.CacheCatalog(System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter)">
1195 <summary>
1196 Caches the contents of the catalog using the specified <see cref="T:System.ComponentModel.Composition.Caching.ComposablePartCatalogCacheWriter"/>.
1197 </summary>
1198 <param name="writer">The cache writer.</param>
1199 <returns>The cache token corresponding to the written catalog cache.</returns>
1200 </member>
1201 <member name="P:System.ComponentModel.Composition.Caching.ICachedComposablePartCatalog.IsCacheUpToDate">
1202 <summary>
1203 Specifies whether the cache the state of the catalog has changed since the last time it was read from the cache.
1204 </summary>
1205 </member>
1206 <member name="T:System.ComponentModel.Composition.CardinalityMismatchException">
1207 <summary>
1208 The exception that is thrown when the cardinality of a <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>
1209 does not match the cardinality of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects available in an
1210 <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/>.
1211 </summary>
1212 </member>
1213 <member name="M:System.ComponentModel.Composition.CardinalityMismatchException.#ctor">
1214 <summary>
1215 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/> class.
1216 </summary>
1217 </member>
1218 <member name="M:System.ComponentModel.Composition.CardinalityMismatchException.#ctor(System.String)">
1219 <summary>
1220 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/> class
1221 with the specified error message.
1222 </summary>
1223 <param name="message">
1224 A <see cref="T:System.String"/> containing a message that describes the
1225 <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/>; or <see langword="null"/> to set
1226 the <see cref="P:System.Exception.Message"/> property to its default value.
1227 </param>
1228 </member>
1229 <member name="M:System.ComponentModel.Composition.CardinalityMismatchException.#ctor(System.String,System.Exception)">
1230 <summary>
1231 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/> class
1232 with the specified error message and exception that is the cause of the
1233 exception.
1234 </summary>
1235 <param name="message">
1236 A <see cref="T:System.String"/> containing a message that describes the
1237 <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/>; or <see langword="null"/> to set
1238 the <see cref="P:System.Exception.Message"/> property to its default value.
1239 </param>
1240 <param name="innerException">
1241 The <see cref="T:System.Exception"/> that is the underlying cause of the
1242 <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/>; or <see langword="null"/> to set
1243 the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
1244 </param>
1245 </member>
1246 <member name="M:System.ComponentModel.Composition.CardinalityMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1247 <summary>
1248 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/> class
1249 with the specified serialization data.
1250 </summary>
1251 <param name="info">
1252 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
1253 <see cref="T:System.ComponentModel.Composition.CardinalityMismatchException"/>.
1254 </param>
1255 <param name="context">
1256 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
1257 source or destination.
1258 </param>
1259 <exception cref="T:System.ArgumentNullException">
1260 <paramref name="info"/> is <see langword="null"/>.
1261 </exception>
1262 <exception cref="T:System.Runtime.Serialization.SerializationException">
1263 <paramref name="info"/> is missing a required value.
1264 </exception>
1265 <exception cref="T:System.InvalidCastException">
1266 <paramref name="info"/> contains a value that cannot be cast to the correct type.
1267 </exception>
1268 </member>
1269 <member name="T:System.ComponentModel.Composition.CatalogDiscoveryMode">
1270 <summary>
1271 Specifies when an attributed part is discovered by a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
1272 </summary>
1273 </member>
1274 <member name="F:System.ComponentModel.Composition.CatalogDiscoveryMode.Auto">
1275 <summary>
1276 Indicates that an attributed part will be discovered by a
1277 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> if a member declared at the level of the type's
1278 hierarchy, or if the type itself, is marked with the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/>,
1279 <see cref="T:System.ComponentModel.Composition.ImportingConstructorAttribute"/>, or <see cref="T:System.ComponentModel.Composition.ExportAttribute"/>
1280 attributes. Inherited members are not considered.
1281 </summary>
1282 </member>
1283 <member name="F:System.ComponentModel.Composition.CatalogDiscoveryMode.Never">
1284 <summary>
1285 Indicates that an attributed part will never be discovered by a
1286 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
1287 </summary>
1288 </member>
1289 <member name="F:System.ComponentModel.Composition.CatalogDiscoveryMode.Always">
1290 <summary>
1291 Indicates that an attributed part will be discovered by a
1292 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> if a member declared anywhere in the type's
1293 hierarchy, or if the type itself, is marked with the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/>,
1294 <see cref="T:System.ComponentModel.Composition.ImportingConstructorAttribute"/>, or <see cref="T:System.ComponentModel.Composition.ExportAttribute"/>
1295 attributes.
1296 </summary>
1297 </member>
1298 <member name="T:System.ComponentModel.Composition.ContractMismatchException">
1299 <summary>
1300 The exception that is thrown when the underlying exported object or metadata of an
1301 <see cref="T:System.ComponentModel.Composition.Export`1"/> or <see cref="T:System.ComponentModel.Composition.Export`2"/> object cannot be
1302 cast to <c>T</c> or <c>TMetadataView</c>, respectively.
1303 </summary>
1304 </member>
1305 <member name="M:System.ComponentModel.Composition.ContractMismatchException.#ctor">
1306 <summary>
1307 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/> class.
1308 </summary>
1309 </member>
1310 <member name="M:System.ComponentModel.Composition.ContractMismatchException.#ctor(System.String)">
1311 <summary>
1312 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/> class
1313 with the specified error message.
1314 </summary>
1315 <param name="message">
1316 A <see cref="T:System.String"/> containing a message that describes the
1317 <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/>; or <see langword="null"/> to set
1318 the <see cref="P:System.Exception.Message"/> property to its default value.
1319 </param>
1320 </member>
1321 <member name="M:System.ComponentModel.Composition.ContractMismatchException.#ctor(System.String,System.Exception)">
1322 <summary>
1323 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/> class
1324 with the specified error message and exception that is the cause of the
1325 exception.
1326 </summary>
1327 <param name="message">
1328 A <see cref="T:System.String"/> containing a message that describes the
1329 <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/>; or <see langword="null"/> to set
1330 the <see cref="P:System.Exception.Message"/> property to its default value.
1331 </param>
1332 <param name="innerException">
1333 The <see cref="T:System.Exception"/> that is the underlying cause of the
1334 <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/>; or <see langword="null"/> to set
1335 the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
1336 </param>
1337 </member>
1338 <member name="M:System.ComponentModel.Composition.ContractMismatchException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1339 <summary>
1340 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/> class
1341 with the specified serialization data.
1342 </summary>
1343 <param name="info">
1344 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
1345 <see cref="T:System.ComponentModel.Composition.ContractMismatchException"/>.
1346 </param>
1347 <param name="context">
1348 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
1349 source or destination.
1350 </param>
1351 <exception cref="T:System.ArgumentNullException">
1352 <paramref name="info"/> is <see langword="null"/>.
1353 </exception>
1354 <exception cref="T:System.Runtime.Serialization.SerializationException">
1355 <paramref name="info"/> is missing a required value.
1356 </exception>
1357 <exception cref="T:System.InvalidCastException">
1358 <paramref name="info"/> contains a value that cannot be cast to the correct type.
1359 </exception>
1360 </member>
1361 <member name="T:System.ComponentModel.Composition.CompositionError">
1362 <summary>
1363 Represents an error that occurs during composition in a <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
1364 </summary>
1365 </member>
1366 <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String)">
1367 <summary>
1368 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
1369 with the specified error message.
1370 </summary>
1371 <param name="message">
1372 A <see cref="T:System.String"/> containing a message that describes the
1373 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the
1374 <see cref="P:System.ComponentModel.Composition.CompositionError.Message"/> property to an empty string ("").
1375 </param>
1376 </member>
1377 <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement)">
1378 <summary>
1379 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
1380 with the specified error message and composition element that is the
1381 cause of the composition error.
1382 </summary>
1383 <param name="element">
1384 The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
1385 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
1386 the <see cref="P:System.ComponentModel.Composition.CompositionError.Element"/> property to
1387 <see langword="null"/>.
1388 </param>
1389 <param name="message">
1390 A <see cref="T:System.String"/> containing a message that describes the
1391 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the
1392 <see cref="P:System.ComponentModel.Composition.CompositionError.Message"/> property to an empty string ("").
1393 </param>
1394 </member>
1395 <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String,System.Exception)">
1396 <summary>
1397 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
1398 with the specified error message and exception that is the cause of the
1399 composition error.
1400 </summary>
1401 <param name="message">
1402 A <see cref="T:System.String"/> containing a message that describes the
1403 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the
1404 <see cref="P:System.ComponentModel.Composition.CompositionError.Message"/> property to an empty string ("").
1405 </param>
1406 <param name="exception">
1407 The <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> that is the underlying cause of the
1408 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
1409 the <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> property to <see langword="null"/>.
1410 </param>
1411 </member>
1412 <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception)">
1413 <summary>
1414 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
1415 with the specified error message, and composition element and exception that
1416 is the cause of the composition error.
1417 </summary>
1418 <param name="message">
1419 A <see cref="T:System.String"/> containing a message that describes the
1420 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set the
1421 <see cref="P:System.ComponentModel.Composition.CompositionError.Message"/> property to an empty string ("").
1422 </param>
1423 <param name="element">
1424 The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
1425 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
1426 the <see cref="P:System.ComponentModel.Composition.CompositionError.Element"/> property to
1427 <see langword="null"/>.
1428 </param>
1429 <param name="exception">
1430 The <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> that is the underlying cause of the
1431 <see cref="T:System.ComponentModel.Composition.CompositionError"/>; or <see langword="null"/> to set
1432 the <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> property to <see langword="null"/>.
1433 </param>
1434 </member>
1435 <member name="M:System.ComponentModel.Composition.CompositionError.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1436 <summary>
1437 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionError"/> class
1438 with the specified serialization data.
1439 </summary>
1440 <param name="info">
1441 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
1442 <see cref="T:System.ComponentModel.Composition.CompositionError"/>.
1443 </param>
1444 <param name="context">
1445 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
1446 source or destination.
1447 </param>
1448 <exception cref="T:System.ArgumentNullException">
1449 <paramref name="info"/> is <see langword="null"/>.
1450 </exception>
1451 <exception cref="T:System.Runtime.Serialization.SerializationException">
1452 <paramref name="info"/> is missing a required value.
1453 </exception>
1454 <exception cref="T:System.InvalidCastException">
1455 <paramref name="info"/> contains a value that cannot be cast to the correct type.
1456 </exception>
1457 </member>
1458 <member name="M:System.ComponentModel.Composition.CompositionError.ToString">
1459 <summary>
1460 Returns a string representation of the composition error.
1461 </summary>
1462 <returns>
1463 A <see cref="T:System.String"/> containing the <see cref="P:System.ComponentModel.Composition.CompositionError.Message"/> property.
1464 </returns>
1465 </member>
1466 <member name="M:System.ComponentModel.Composition.CompositionError.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1467 <summary>
1468 Gets the serialization data of the exception.
1469 </summary>
1470 <param name="info">
1471 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
1472 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
1473 </param>
1474 <param name="context">
1475 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
1476 source or destination.
1477 </param>
1478 </member>
1479 <member name="M:System.ComponentModel.Composition.CompositionError.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1480 <summary>
1481 Gets the serialization data of the exception.
1482 </summary>
1483 <param name="info">
1484 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
1485 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
1486 </param>
1487 <param name="context">
1488 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
1489 source or destination.
1490 </param>
1491 <exception cref="T:System.ArgumentNullException">
1492 <paramref name="info"/> is <see langword="null"/>.
1493 </exception>
1494 </member>
1495 <member name="P:System.ComponentModel.Composition.CompositionError.Element">
1496 <summary>
1497 Gets the composition element that is the cause of the error.
1498 </summary>
1499 <value>
1500 The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
1501 <see cref="T:System.ComponentModel.Composition.CompositionError"/>. The default is <see langword="null"/>.
1502 </value>
1503 </member>
1504 <member name="P:System.ComponentModel.Composition.CompositionError.Message">
1505 <summary>
1506 Gets the message that describes the composition error.
1507 </summary>
1508 <value>
1509 A <see cref="T:System.String"/> containing a message that describes the
1510 <see cref="T:System.ComponentModel.Composition.CompositionError"/>.
1511 </value>
1512 </member>
1513 <member name="P:System.ComponentModel.Composition.CompositionError.Exception">
1514 <summary>
1515 Gets the exception that is the underlying cause of the composition error.
1516 </summary>
1517 <value>
1518 The <see cref="P:System.ComponentModel.Composition.CompositionError.Exception"/> that is the underlying cause of the
1519 <see cref="T:System.ComponentModel.Composition.CompositionError"/>. The default is <see langword="null"/>.
1520 </value>
1521 </member>
1522 <member name="P:System.ComponentModel.Composition.CompositionResult`1.Value">
1523 <summary>
1524 Gets the value from the result, throwing a CompositionException if there are any errors.
1525 </summary>
1526 </member>
1527 <member name="T:System.ComponentModel.Composition.ExportCollection`2">
1528 <summary>
1529 Represents a collection of <see cref="T:System.ComponentModel.Composition.Export`2"/> objects.
1530 </summary>
1531 </member>
1532 <member name="M:System.ComponentModel.Composition.ExportCollection`2.#ctor">
1533 <summary>
1534 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/> class
1535 that is empty.
1536 </summary>
1537 </member>
1538 <member name="M:System.ComponentModel.Composition.ExportCollection`2.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Export{`0,`1}})">
1539 <summary>
1540 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/> class,
1541 adding the specified <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Export`2"/>
1542 objects to the collection.
1543 </summary>
1544 <param name="items">
1545 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Export`2"/> objects to add
1546 to the <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/>; or <see langword="null"/> to create
1547 an <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/> that is empty.
1548 </param>
1549 </member>
1550 <member name="T:System.ComponentModel.Composition.ExportCollection`1">
1551 <summary>
1552 Represents a collection of <see cref="T:System.ComponentModel.Composition.Export`1"/> objects.
1553 </summary>
1554 </member>
1555 <member name="M:System.ComponentModel.Composition.ExportCollection`1.#ctor">
1556 <summary>
1557 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/> class
1558 that is empty.
1559 </summary>
1560 </member>
1561 <member name="M:System.ComponentModel.Composition.ExportCollection`1.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Export{`0}})">
1562 <summary>
1563 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/> class,
1564 adding the specified <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Export`1"/>
1565 objects to the collection.
1566 </summary>
1567 <param name="items">
1568 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Export`1"/> objects to add
1569 to the <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/>; or <see langword="null"/> to create an
1570 <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/> that is empty.
1571 </param>
1572 </member>
1573 <member name="T:System.ComponentModel.Composition.Export`2">
1574 <summary>
1575 Represents an export. That is, a type that is made up of a delay-created exported object,
1576 metadata that describes that object and a strongly-typed view over that metadata.
1577 </summary>
1578 </member>
1579 <member name="T:System.ComponentModel.Composition.Export`1">
1580 <summary>
1581 Represents an export. That is, a type that is made up of a delay-created exported object
1582 and metadata that describes that object.
1583 </summary>
1584 </member>
1585 <member name="T:System.ComponentModel.Composition.Primitives.Export">
1586 <summary>
1587 Represents an export. That is, a type that is made up of a delay-created exported object
1588 and metadata that describes that object.
1589 </summary>
1590 </member>
1591 <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor">
1592 <summary>
1593 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class.
1594 </summary>
1595 <remarks>
1596 <note type="inheritinfo">
1597 Derived types calling this constructor must override <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/>
1598 and <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObjectCore"/>.
1599 </note>
1600 </remarks>
1601 </member>
1602 <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor(System.String,System.Func{System.Object})">
1603 <summary>
1604 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class
1605 with the specified contract name and exported object getter.
1606 </summary>
1607 <param name="contractName">
1608 A <see cref="T:System.String"/> containing the contract name of the
1609 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
1610 </param>
1611 <param name="exportedObjectGetter">
1612 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1613 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>. This allows the creation of the object to be delayed
1614 until <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObject"/> is called.
1615 </param>
1616 <exception cref="T:System.ArgumentNullException">
1617 <paramref name="contractName"/> is <see langword="null"/>.
1618 <para>
1619 -or-
1620 </para>
1621 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1622 </exception>
1623 <exception cref="T:System.ArgumentException">
1624 <paramref name="contractName"/> is an empty string ("").
1625 </exception>
1626 </member>
1627 <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object},System.Func{System.Object})">
1628 <summary>
1629 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class
1630 with the specified contract name, metadata and exported object getter.
1631 </summary>
1632 <param name="contractName">
1633 A <see cref="T:System.String"/> containing the contract name of the
1634 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
1635 </param>
1636 <param name="metadata">
1637 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
1638 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>; or <see langword="null"/> to set the
1639 <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property to an empty, read-only
1640 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
1641 </param>
1642 <param name="exportedObjectGetter">
1643 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1644 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>. This allows the creation of the object to be delayed
1645 until <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObject"/> is called.
1646 </param>
1647 <exception cref="T:System.ArgumentNullException">
1648 <paramref name="contractName"/> is <see langword="null"/>.
1649 <para>
1650 -or-
1651 </para>
1652 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1653 </exception>
1654 <exception cref="T:System.ArgumentException">
1655 <paramref name="contractName"/> is an empty string ("").
1656 </exception>
1657 </member>
1658 <member name="M:System.ComponentModel.Composition.Primitives.Export.#ctor(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func{System.Object})">
1659 <summary>
1660 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> class
1661 with the specified export definition and exported object getter.
1662 </summary>
1663 <param name="definition">
1664 An <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> that describes the contract that the
1665 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> satisfies.
1666 </param>
1667 <param name="exportedObjectGetter">
1668 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1669 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>. This allows the creation of the object to be delayed
1670 until <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObject"/> is called.
1671 </param>
1672 <exception cref="T:System.ArgumentNullException">
1673 <paramref name="definition"/> is <see langword="null"/>.
1674 <para>
1675 -or-
1676 </para>
1677 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1678 </exception>
1679 </member>
1680 <member name="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObject">
1681 <summary>
1682 Returns the exported object of the export.
1683 </summary>
1684 <returns>
1685 The exported <see cref="T:System.Object"/> of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
1686 </returns>
1687 <exception cref="T:System.ComponentModel.Composition.CompositionException">
1688 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
1689 contain a collection of errors that occurred.
1690 </exception>
1691 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
1692 The current instance is an instance of <see cref="T:System.ComponentModel.Composition.Export`1"/> and the underlying
1693 exported object cannot be cast to <c>T</c>.
1694 </exception>
1695 <exception cref="T:System.NotImplementedException">
1696 The <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObjectCore"/> method was not overridden by a derived class.
1697 </exception>
1698 </member>
1699 <member name="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObjectCore">
1700 <summary>
1701 Returns the exported object of the export.
1702 </summary>
1703 <returns>
1704 The exported <see cref="T:System.Object"/> of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
1705 </returns>
1706 <exception cref="T:System.ComponentModel.Composition.CompositionException">
1707 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
1708 contain a collection of errors that occurred.
1709 </exception>
1710 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
1711 The current instance is an instance of <see cref="T:System.ComponentModel.Composition.Export`1"/> and the underlying
1712 exported object cannot be cast to <c>T</c>.
1713 </exception>
1714 <exception cref="T:System.NotImplementedException">
1715 The method was not overridden by a derived class.
1716 </exception>
1717 <remarks>
1718 <note type="inheritinfo">
1719 Overriders of this method should never return
1720 <see langword="null"/>.
1721 </note>
1722 </remarks>
1723 </member>
1724 <member name="P:System.ComponentModel.Composition.Primitives.Export.Definition">
1725 <summary>
1726 Gets the definition that describes the contract that the export satisfies.
1727 </summary>
1728 <value>
1729 An <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> that describes the contract that
1730 the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> satisfies.
1731 </value>
1732 <exception cref="T:System.NotImplementedException">
1733 This property was not overridden by a derived class.
1734 </exception>
1735 <remarks>
1736 <note type="inheritinfo">
1737 Overriders of this property should never return
1738 <see langword="null"/>.
1739 </note>
1740 </remarks>
1741 </member>
1742 <member name="P:System.ComponentModel.Composition.Primitives.Export.Metadata">
1743 <summary>
1744 Gets the metadata of the export.
1745 </summary>
1746 <value>
1747 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
1748 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
1749 </value>
1750 <exception cref="T:System.NotImplementedException">
1751 The <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/> property was not overridden by a derived class.
1752 </exception>
1753 <remarks>
1754 <para>
1755 This property returns the value of <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.Metadata"/>
1756 of the <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/> property.
1757 </para>
1758 </remarks>
1759 </member>
1760 <member name="M:System.ComponentModel.Composition.Export`1.#ctor">
1761 <summary>
1762 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`1"/> class.
1763 </summary>
1764 <remarks>
1765 <note type="inheritinfo">
1766 Derived types calling this constructor must override <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/>
1767 and <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObjectCore"/>.
1768 </note>
1769 </remarks>
1770 </member>
1771 <member name="M:System.ComponentModel.Composition.Export`1.#ctor(System.Func{`0})">
1772 <summary>
1773 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`1"/> class
1774 with the specified exported object getter and using a contract
1775 name derived from <typeparamref name="T"/>.
1776 </summary>
1777 <param name="exportedObjectGetter">
1778 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1779 <see cref="T:System.ComponentModel.Composition.Export`1"/>. This allows the creation of the object to be delayed
1780 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1781 </param>
1782 <exception cref="T:System.ArgumentNullException">
1783 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1784 </exception>
1785 <remarks>
1786 <para>
1787 The <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName"/> property of <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/>
1788 is the result of calling <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on
1789 <typeparamref name="T"/>.
1790 </para>
1791 </remarks>
1792 </member>
1793 <member name="M:System.ComponentModel.Composition.Export`1.#ctor(System.String,System.Func{`0})">
1794 <summary>
1795 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`1"/> class
1796 with the specified contract name and exported object getter.
1797 </summary>
1798 <param name="contractName">
1799 A <see cref="T:System.String"/> containing the contract name of the
1800 <see cref="T:System.ComponentModel.Composition.Export`1"/>.
1801 </param>
1802 <param name="exportedObjectGetter">
1803 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1804 <see cref="T:System.ComponentModel.Composition.Export`1"/>. This allows the creation of the object to be delayed
1805 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1806 </param>
1807 <exception cref="T:System.ArgumentNullException">
1808 <paramref name="contractName"/> is <see langword="null"/>.
1809 <para>
1810 -or-
1811 </para>
1812 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1813 </exception>
1814 <exception cref="T:System.ArgumentException">
1815 <paramref name="contractName"/> is an empty string ("").
1816 </exception>
1817 </member>
1818 <member name="M:System.ComponentModel.Composition.Export`1.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object},System.Func{`0})">
1819 <summary>
1820 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`1"/> class
1821 with the specified contract name, metadata and exported object getter.
1822 </summary>
1823 <param name="contractName">
1824 A <see cref="T:System.String"/> containing the contract name of the
1825 <see cref="T:System.ComponentModel.Composition.Export`1"/>.
1826 </param>
1827 <param name="metadata">
1828 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
1829 <see cref="T:System.ComponentModel.Composition.Export`1"/>; or <see langword="null"/> to set the
1830 <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property to an empty, read-only
1831 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
1832 </param>
1833 <param name="exportedObjectGetter">
1834 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1835 <see cref="T:System.ComponentModel.Composition.Export`1"/>. This allows the creation of the object to be delayed
1836 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1837 </param>
1838 <exception cref="T:System.ArgumentNullException">
1839 <paramref name="contractName"/> is <see langword="null"/>.
1840 <para>
1841 -or-
1842 </para>
1843 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1844 </exception>
1845 <exception cref="T:System.ArgumentException">
1846 <paramref name="contractName"/> is an empty string ("").
1847 </exception>
1848 </member>
1849 <member name="M:System.ComponentModel.Composition.Export`1.#ctor(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func{`0})">
1850 <summary>
1851 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`1"/> class
1852 with the specified export definition and exported object getter.
1853 </summary>
1854 <param name="definition">
1855 An <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> that describes the contract that the
1856 <see cref="T:System.ComponentModel.Composition.Export`1"/> satisfies.
1857 </param>
1858 <param name="exportedObjectGetter">
1859 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1860 <see cref="T:System.ComponentModel.Composition.Export`1"/>. This allows the creation of the object to be delayed
1861 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1862 </param>
1863 <exception cref="T:System.ArgumentNullException">
1864 <paramref name="definition"/> is <see langword="null"/>.
1865 <para>
1866 -or-
1867 </para>
1868 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1869 </exception>
1870 </member>
1871 <member name="M:System.ComponentModel.Composition.Export`1.GetExportedObject">
1872 <summary>
1873 Returns the exported object of the export.
1874 </summary>
1875 <returns>
1876 A <typeparamref name="T"/> representing the exported object of the
1877 <see cref="T:System.ComponentModel.Composition.Export`1"/>.
1878 </returns>
1879 <exception cref="T:System.ComponentModel.Composition.CompositionException">
1880 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
1881 contain a collection of errors that occurred.
1882 </exception>
1883 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
1884 The underlying exported object cannot be cast to <typeparamref name="T"/>.
1885 </exception>
1886 <exception cref="T:System.NotImplementedException">
1887 The <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObjectCore"/> method was not overridden by a derived class.
1888 </exception>
1889 </member>
1890 <member name="M:System.ComponentModel.Composition.Export`2.#ctor">
1891 <summary>
1892 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`2"/> class.
1893 </summary>
1894 <remarks>
1895 <note type="inheritinfo">
1896 Derived types calling this constructor must override <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/>
1897 and <see cref="M:System.ComponentModel.Composition.Primitives.Export.GetExportedObjectCore"/>.
1898 </note>
1899 </remarks>
1900 </member>
1901 <member name="M:System.ComponentModel.Composition.Export`2.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object},System.Func{`0})">
1902 <summary>
1903 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`1"/> class
1904 with the specified metadata, exported object getter and using a
1905 contract name derived from <typeparamref name="T"/>.
1906 </summary>
1907 <param name="metadata">
1908 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
1909 <see cref="T:System.ComponentModel.Composition.Export`2"/>; or <see langword="null"/> to set the
1910 <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property to an empty, read-only
1911 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
1912 </param>
1913 <param name="exportedObjectGetter">
1914 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1915 <see cref="T:System.ComponentModel.Composition.Export`1"/>. This allows the creation of the object to be delayed
1916 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1917 </param>
1918 <exception cref="T:System.ArgumentNullException">
1919 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1920 </exception>
1921 <remarks>
1922 <para>
1923 The <see cref="P:System.ComponentModel.Composition.Primitives.ExportDefinition.ContractName"/> property of <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/>
1924 is the result of calling <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on
1925 <typeparamref name="T"/>.
1926 </para>
1927 </remarks>
1928 </member>
1929 <member name="M:System.ComponentModel.Composition.Export`2.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object},System.Func{`0})">
1930 <summary>
1931 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`2"/> class
1932 with the specified contract name, metadata and exported object getter.
1933 </summary>
1934 <param name="contractName">
1935 A <see cref="T:System.String"/> containing the contract name of the
1936 <see cref="T:System.ComponentModel.Composition.Export`2"/>.
1937 </param>
1938 <param name="metadata">
1939 An <see cref="T:System.Collections.Generic.IDictionary`2"/> containing the metadata of the
1940 <see cref="T:System.ComponentModel.Composition.Export`2"/>; or <see langword="null"/> to set the
1941 <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property to an empty, read-only
1942 <see cref="T:System.Collections.Generic.IDictionary`2"/>.
1943 </param>
1944 <param name="exportedObjectGetter">
1945 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1946 <see cref="T:System.ComponentModel.Composition.Export`2"/>. This allows the creation of the object to be delayed
1947 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1948 </param>
1949 <exception cref="T:System.ArgumentNullException">
1950 <paramref name="contractName"/> is <see langword="null"/>.
1951 <para>
1952 -or-
1953 </para>
1954 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1955 </exception>
1956 <exception cref="T:System.ArgumentException">
1957 <paramref name="contractName"/> is an empty string ("").
1958 </exception>
1959 </member>
1960 <member name="M:System.ComponentModel.Composition.Export`2.#ctor(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func{`0})">
1961 <summary>
1962 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Export`2"/> class
1963 with the specified export definition and exported object getter.
1964 </summary>
1965 <param name="definition">
1966 An <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> that describes the contract that the
1967 <see cref="T:System.ComponentModel.Composition.Export`2"/> satisfies.
1968 </param>
1969 <param name="exportedObjectGetter">
1970 A <see cref="T:System.Func`1"/> that is called to create the exported object of the
1971 <see cref="T:System.ComponentModel.Composition.Export`2"/>. This allows the creation of the object to be delayed
1972 until <see cref="M:System.ComponentModel.Composition.Export`1.GetExportedObject"/> is called.
1973 </param>
1974 <exception cref="T:System.ArgumentNullException">
1975 <paramref name="definition"/> is <see langword="null"/>.
1976 <para>
1977 -or-
1978 </para>
1979 <paramref name="exportedObjectGetter"/> is <see langword="null"/>.
1980 </exception>
1981 </member>
1982 <member name="P:System.ComponentModel.Composition.Export`2.MetadataView">
1983 <summary>
1984 Gets the metadata view for the export.
1985 </summary>
1986 <value>
1987 A <typeparamref name="TMetadataView"/> representing the strongly-typed metadata view
1988 for the <see cref="T:System.ComponentModel.Composition.Export`2"/>.
1989 </value>
1990 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
1991 The <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property cannot be converted to <typeparamref name="TMetadataView"/>.
1992 </exception>
1993 <exception cref="T:System.NotImplementedException">
1994 The <see cref="P:System.ComponentModel.Composition.Primitives.Export.Definition"/> property was not overridden by a derived class.
1995 </exception>
1996 <exception cref="T:System.InvalidOperationException">
1997 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
1998 </exception>
1999 <remarks>
2000 <para>
2001 This property represents a strong-typed view over the <see cref="P:System.ComponentModel.Composition.Primitives.Export.Metadata"/> property.
2002 </para>
2003 </remarks>
2004 </member>
2005 <member name="T:System.ComponentModel.Composition.Hosting.ExportProvider">
2006 <summary>
2007 Defines the <see langword="abstract"/> base class for export providers, which provide
2008 methods for retrieving <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
2009 </summary>
2010 </member>
2011 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.#ctor">
2012 <summary>
2013 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> class.
2014 </summary>
2015 </member>
2016 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
2017 <summary>
2018 Returns all exports that match the conditions of the specified import.
2019 </summary>
2020 <param name="definition">
2021 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
2022 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to get.
2023 </param>
2024 <result>
2025 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
2026 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
2027 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
2028 </result>
2029 <exception cref="T:System.ArgumentNullException">
2030 <paramref name="definition"/> is <see langword="null"/>.
2031 </exception>
2032 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2033 <para>
2034 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and
2035 there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the specified
2036 <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
2037 </para>
2038 -or-
2039 <para>
2040 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or
2041 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and there are more than one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>
2042 objects that match the conditions of the specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
2043 </para>
2044 </exception>
2045 </member>
2046 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.Export}@)">
2047 <summary>
2048 Returns all exports that match the conditions of the specified import.
2049 </summary>
2050 <param name="definition">
2051 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
2052 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to get.
2053 </param>
2054 <param name="exports">
2055 When this method returns, contains an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>
2056 objects that match the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found;
2057 otherwise, an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
2058 </param>
2059 <returns>
2060 <see langword="true"/> if <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is
2061 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrMore"/> and
2062 there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the specified
2063 <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>. <see langword="true"/> if
2064 <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or
2065 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/> and there is exactly one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>
2066 that matches the conditions of the specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>; otherwise,
2067 <see langword="false"/>.
2068 </returns>
2069 <exception cref="T:System.ArgumentNullException">
2070 <paramref name="definition"/> is <see langword="null"/>.
2071 </exception>
2072 </member>
2073 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition)">
2074 <summary>
2075 Returns all exports that match the constraint defined by the specified definition.
2076 </summary>
2077 <param name="definition">
2078 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
2079 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to return.
2080 </param>
2081 <result>
2082 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
2083 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
2084 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
2085 </result>
2086 <remarks>
2087 <note type="inheritinfo">
2088 Overriders of this method should not treat cardinality-related mismatches
2089 as errors, and should not throw exceptions in those cases. For instance,
2090 if <see cref="P:System.ComponentModel.Composition.Primitives.ImportDefinition.Cardinality"/> is <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>
2091 and there are zero <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match the conditions of the
2092 specified <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, an <see cref="T:System.Collections.Generic.IEnumerable`1"/> should be returned.
2093 </note>
2094 </remarks>
2095 </member>
2096 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs)">
2097 <summary>
2098 Raises the <see cref="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged"/> event.
2099 </summary>
2100 <param name="e">
2101 An <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> containing the data for the event.
2102 </param>
2103 </member>
2104 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``1">
2105 <summary>
2106 Returns the export with the contract name derived from the specified type parameter,
2107 throwing an exception if there is not exactly one matching export.
2108 </summary>
2109 <typeparam name="T">
2110 The type of the <see cref="T:System.ComponentModel.Composition.Export`1"/> object to return. The contract name is also
2111 derived from this type parameter.
2112 </typeparam>
2113 <returns>
2114 The <see cref="T:System.ComponentModel.Composition.Export`1"/> object with the contract name derived from
2115 <typeparamref name="T"/>.
2116 </returns>
2117 <remarks>
2118 <para>
2119 The returned <see cref="T:System.ComponentModel.Composition.Export`1"/> object is an instance of
2120 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where
2121 <c>TMetadataView</c>
2122 is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c>
2123 is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
2124 </para>
2125 <para>
2126 The contract name is the result of calling
2127 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2128 </para>
2129 <para>
2130 The contract name is compared using a case-sensitive, non-linguistic comparison
2131 using <see cref="P:System.StringComparer.Ordinal"/>.
2132 </para>
2133 </remarks>
2134 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2135 <para>
2136 There are zero <see cref="T:System.ComponentModel.Composition.Export`1"/> objects with the contract name derived
2137 from <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2138 </para>
2139 -or-
2140 <para>
2141 There are more than one <see cref="T:System.ComponentModel.Composition.Export`1"/> objects with the contract name
2142 derived from <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2143 </para>
2144 </exception>
2145 <exception cref="T:System.ObjectDisposedException">
2146 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2147 </exception>
2148 </member>
2149 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``1(System.String)">
2150 <summary>
2151 Returns the export with the specified contract name, throwing an exception if there
2152 is not exactly one matching export.
2153 </summary>
2154 <typeparam name="T">
2155 The type of the <see cref="T:System.ComponentModel.Composition.Export`1"/> object to return.
2156 </typeparam>
2157 <param name="contractName">
2158 A <see cref="T:System.String"/> containing the contract name of the <see cref="T:System.ComponentModel.Composition.Export`1"/>
2159 object to return; or <see langword="null"/> or an empty string ("") to use the
2160 default contract name.
2161 </param>
2162 <returns>
2163 The <see cref="T:System.ComponentModel.Composition.Export`1"/> object with the specified contract name.
2164 </returns>
2165 <remarks>
2166 <para>
2167 The returned <see cref="T:System.ComponentModel.Composition.Export`1"/> object is an instance of
2168 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where
2169 <c>TMetadataView</c>
2170 is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c>
2171 is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
2172 </para>
2173 <para>
2174 The contract name is the result of calling
2175 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2176 </para>
2177 <para>
2178 The default contract name is compared using a case-sensitive, non-linguistic
2179 comparison using <see cref="P:System.StringComparer.Ordinal"/>.
2180 </para>
2181 </remarks>
2182 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2183 <para>
2184 There are zero <see cref="T:System.ComponentModel.Composition.Export`1"/> objects with the specified contract name
2185 in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2186 </para>
2187 -or-
2188 <para>
2189 There are more than one <see cref="T:System.ComponentModel.Composition.Export`1"/> objects with the specified contract
2190 name in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2191 </para>
2192 </exception>
2193 <exception cref="T:System.ObjectDisposedException">
2194 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2195 </exception>
2196 </member>
2197 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``1(System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}})">
2198 <summary>
2199 Returns the export that matches the conditions defined by the specified constraint,
2200 throwing an exception if there is not exactly one matching export.
2201 </summary>
2202 <typeparam name="T">
2203 The type of the <see cref="T:System.ComponentModel.Composition.Export`1"/> object to return.
2204 </typeparam>
2205 <param name="constraint">
2206 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
2207 that defines the conditions of the <see cref="T:System.ComponentModel.Composition.Export`1"/> object to return or
2208 <see langword="null"/> to use the default contract name as the constraint.
2209 </param>
2210 <returns>
2211 The <see cref="T:System.ComponentModel.Composition.Export`1"/> object that matches the conditions defined by
2212 <paramref name="constraint"/>.
2213 </returns>
2214 <remarks>
2215 <para>
2216 The returned <see cref="T:System.ComponentModel.Composition.Export`1"/> object is an instance of
2217 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where
2218 <c>TMetadataView</c>
2219 is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c>
2220 is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
2221 </para>
2222 <para>
2223 The contract name is the result of calling
2224 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2225 </para>
2226 <para>
2227 The default contract name is compared using a case-sensitive, non-linguistic
2228 comparison using <see cref="P:System.StringComparer.Ordinal"/>.
2229 </para>
2230 </remarks>
2231 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2232 <para>
2233 There are zero <see cref="T:System.ComponentModel.Composition.Export`1"/> objects that match the conditions
2234 defined by <paramref name="constraint"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2235 </para>
2236 -or-
2237 <para>
2238 There are more than one <see cref="T:System.ComponentModel.Composition.Export`1"/> objects that match the conditions
2239 defined by <paramref name="constraint"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2240 </para>
2241 </exception>
2242 <exception cref="T:System.ObjectDisposedException">
2243 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2244 </exception>
2245 </member>
2246 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``2">
2247 <summary>
2248 Returns the export with the contract name derived from the specified type parameter,
2249 throwing an exception if there is not exactly one matching export.
2250 </summary>
2251 <typeparam name="T">
2252 The type of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object to return. The
2253 contract name is also derived from this type parameter.
2254 </typeparam>
2255 <typeparam name="TMetadataView">
2256 The type of the metadata view of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object
2257 to return.
2258 </typeparam>
2259 <returns>
2260 The <see cref="T:System.ComponentModel.Composition.Export`2"/> object with the contract name derived
2261 from <typeparamref name="T"/>.
2262 </returns>
2263 <remarks>
2264 <para>
2265 The contract name is the result of calling
2266 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2267 </para>
2268 <para>
2269 The contract name is compared using a case-sensitive, non-linguistic comparison
2270 using <see cref="P:System.StringComparer.Ordinal"/>.
2271 </para>
2272 </remarks>
2273 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2274 <para>
2275 There are zero <see cref="T:System.ComponentModel.Composition.Export`2"/> objects with the contract
2276 name derived from <typeparamref name="T"/> in the
2277 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2278 </para>
2279 -or-
2280 <para>
2281 There are more than one <see cref="T:System.ComponentModel.Composition.Export`2"/> objects with the
2282 contract name derived from <typeparamref name="T"/> in the
2283 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2284 </para>
2285 </exception>
2286 <exception cref="T:System.InvalidOperationException">
2287 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
2288 </exception>
2289 <exception cref="T:System.ObjectDisposedException">
2290 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2291 </exception>
2292 </member>
2293 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``2(System.String)">
2294 <summary>
2295 Returns the export with the specified contract name, throwing an exception if there
2296 is not exactly one matching export.
2297 </summary>
2298 <typeparam name="T">
2299 The type of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object to return.
2300 </typeparam>
2301 <typeparam name="TMetadataView">
2302 The type of the metadata view of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object
2303 to return.
2304 </typeparam>
2305 <param name="contractName">
2306 A <see cref="T:System.String"/> containing the contract name of the
2307 <see cref="T:System.ComponentModel.Composition.Export`2"/> object to return; or <see langword="null"/>
2308 or an empty string ("") to use the default contract name.
2309 </param>
2310 <returns>
2311 The <see cref="T:System.ComponentModel.Composition.Export`2"/> object with the specified contract name.
2312 </returns>
2313 <remarks>
2314 <para>
2315 The default contract name is the result of calling
2316 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2317 </para>
2318 <para>
2319 The contract name is compared using a case-sensitive, non-linguistic comparison
2320 using <see cref="P:System.StringComparer.Ordinal"/>.
2321 </para>
2322 </remarks>
2323 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2324 <para>
2325 There are zero <see cref="T:System.ComponentModel.Composition.Export`2"/> objects with the
2326 specified contract name in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2327 </para>
2328 -or-
2329 <para>
2330 There are more than one <see cref="T:System.ComponentModel.Composition.Export`2"/> objects with the
2331 specified contract name in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2332 </para>
2333 </exception>
2334 <exception cref="T:System.InvalidOperationException">
2335 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
2336 </exception>
2337 <exception cref="T:System.ObjectDisposedException">
2338 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2339 </exception>
2340 </member>
2341 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExport``2(System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}})">
2342 <summary>
2343 Returns the export that matches the conditions defined by the specified constraint,
2344 throwing an exception if there is not exactly one matching export.
2345 </summary>
2346 <typeparam name="T">
2347 The type of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object to return.
2348 </typeparam>
2349 <typeparam name="TMetadataView">
2350 The type of the metadata view of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object
2351 to return.
2352 </typeparam>
2353 <param name="constraint">
2354 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
2355 that defines the conditions of the <see cref="T:System.ComponentModel.Composition.Export`2"/> object to
2356 return or <see langword="null"/> to use the default contract name as the constraint.
2357 </param>
2358 <returns>
2359 The <see cref="T:System.ComponentModel.Composition.Export`2"/> object that matches the conditions
2360 defined by <paramref name="constraint"/>.
2361 </returns>
2362 <remarks>
2363 <para>
2364 The default contract name is the result of calling
2365 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2366 </para>
2367 <para>
2368 The contract name is compared using a case-sensitive, non-linguistic comparison
2369 using <see cref="P:System.StringComparer.Ordinal"/>.
2370 </para>
2371 </remarks>
2372 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2373 <para>
2374 There are zero <see cref="T:System.ComponentModel.Composition.Export`2"/> objects that match the
2375 conditions defined by <paramref name="constraint"/> in the
2376 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2377 </para>
2378 -or-
2379 <para>
2380 There are more than one <see cref="T:System.ComponentModel.Composition.Export`2"/> objects that match
2381 the conditions defined by <paramref name="constraint"/> in the
2382 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2383 </para>
2384 </exception>
2385 <exception cref="T:System.InvalidOperationException">
2386 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
2387 </exception>
2388 <exception cref="T:System.ObjectDisposedException">
2389 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2390 </exception>
2391 </member>
2392 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.Type,System.Type,System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}})">
2393 <summary>
2394 Returns the exports that match the conditions defined by the specified constraint.
2395 </summary>
2396 <param name="type">
2397 The <see cref="T:System.Type"/> of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to return.
2398 </param>
2399 <param name="metadataViewType">
2400 The <see cref="T:System.Type"/> of the metadata view of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to
2401 return.
2402 </param>
2403 <param name="constraint">
2404 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
2405 that defines the conditions of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to return or
2406 <see langword="null"/> to use the default contract name as the constraint.
2407 </param>
2408 <returns>
2409 An <see cref="T:System.ComponentModel.Composition.ExportCollection"/> containing the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that
2410 match the conditions defined by the specified constraint, if found; otherwise, an
2411 empty <see cref="T:System.ComponentModel.Composition.ExportCollection"/>.
2412 </returns>
2413 <remarks>
2414 <para>
2415 The returned <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects are instances of
2416 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where <c>T</c>
2417 is <paramref name="type"/> and <c>TMetadataView</c> is
2418 <paramref name="metadataViewType"/>.
2419 </para>
2420 <para>
2421 The default contract name is the result of calling
2422 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <paramref name="type"/>.
2423 </para>
2424 <para>
2425 The contract name is compared using a case-sensitive, non-linguistic comparison
2426 using <see cref="P:System.StringComparer.Ordinal"/>.
2427 </para>
2428 </remarks>
2429 <exception cref="T:System.ArgumentNullException">
2430 <paramref name="type"/> is <see langword="null"/>.
2431 </exception>
2432 <exception cref="T:System.InvalidOperationException">
2433 <paramref name="metadataViewType"/> is not a valid metadata view type.
2434 </exception>
2435 <exception cref="T:System.ObjectDisposedException">
2436 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2437 </exception>
2438 </member>
2439 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``1">
2440 <summary>
2441 Returns the exports with the contract name derived from the specified type parameter.
2442 </summary>
2443 <typeparam name="T">
2444 The type of the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects to return. The contract name is also
2445 derived from this type parameter.
2446 </typeparam>
2447 <returns>
2448 An <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/> containing the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects
2449 with the contract name derived from <typeparamref name="T"/>, if found; otherwise,
2450 an empty <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/>.
2451 </returns>
2452 <remarks>
2453 <para>
2454 The returned <see cref="T:System.ComponentModel.Composition.Export`1"/> objects are instances of
2455 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where
2456 <c>TMetadataView</c>
2457 is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c>
2458 is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
2459 </para>
2460 <para>
2461 The contract name is the result of calling
2462 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2463 </para>
2464 <para>
2465 The contract name is compared using a case-sensitive, non-linguistic comparison
2466 using <see cref="P:System.StringComparer.Ordinal"/>.
2467 </para>
2468 </remarks>
2469 <exception cref="T:System.ObjectDisposedException">
2470 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2471 </exception>
2472 </member>
2473 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``1(System.String)">
2474 <summary>
2475 Returns the exports with the specified contract name.
2476 </summary>
2477 <typeparam name="T">
2478 The type of the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects to return.
2479 </typeparam>
2480 <param name="contractName">
2481 A <see cref="T:System.String"/> containing the contract name of the <see cref="T:System.ComponentModel.Composition.Export`1"/>
2482 objects to return; or <see langword="null"/> or an empty string ("") to use the
2483 default contract name.
2484 </param>
2485 <returns>
2486 An <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/> containing the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects
2487 with the specified contract name, if found; otherwise, an empty
2488 <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/>.
2489 </returns>
2490 <remarks>
2491 <para>
2492 The returned <see cref="T:System.ComponentModel.Composition.Export`1"/> objects are instances of
2493 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where
2494 <c>TMetadataView</c>
2495 is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c>
2496 is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
2497 </para>
2498 <para>
2499 The default contract name is the result of calling
2500 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2501 </para>
2502 <para>
2503 The contract name is compared using a case-sensitive, non-linguistic comparison
2504 using <see cref="P:System.StringComparer.Ordinal"/>.
2505 </para>
2506 </remarks>
2507 <exception cref="T:System.ObjectDisposedException">
2508 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2509 </exception>
2510 </member>
2511 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``1(System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}})">
2512 <summary>
2513 Returns the exports that match the conditions defined by the specified constraint.
2514 </summary>
2515 <typeparam name="T">
2516 The type of the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects to return.
2517 </typeparam>
2518 <param name="constraint">
2519 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
2520 that defines the conditions of the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects to
2521 return or <see langword="null"/> to use the default contract name as the constraint.
2522 </param>
2523 <returns>
2524 An <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/> containing the <see cref="T:System.ComponentModel.Composition.Export`1"/> objects
2525 that match the conditions defined by the specified constraint, if found; otherwise,
2526 an empty <see cref="T:System.ComponentModel.Composition.ExportCollection`1"/>.
2527 </returns>
2528 <remarks>
2529 <para>
2530 The returned <see cref="T:System.ComponentModel.Composition.Export`1"/> objects are instances of
2531 <see cref="T:System.ComponentModel.Composition.Export`2"/> underneath, where
2532 <c>TMetadataView</c>
2533 is <see cref="T:System.Collections.Generic.IDictionary`2"/> and where <c>TKey</c>
2534 is <see cref="T:System.String"/> and <c>TValue</c> is <see cref="T:System.Object"/>.
2535 </para>
2536 <para>
2537 The default contract name is the result of calling
2538 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2539 </para>
2540 <para>
2541 The contract name is compared using a case-sensitive, non-linguistic comparison
2542 using <see cref="P:System.StringComparer.Ordinal"/>.
2543 </para>
2544 </remarks>
2545 <exception cref="T:System.ObjectDisposedException">
2546 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2547 </exception>
2548 </member>
2549 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``2">
2550 <summary>
2551 Returns the exports with the contract name derived from the specified type parameter.
2552 </summary>
2553 <typeparam name="T">
2554 The type of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects to return. The
2555 contract name is also derived from this type parameter.
2556 </typeparam>
2557 <typeparam name="TMetadataView">
2558 The type of the metadata view of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects
2559 to return.
2560 </typeparam>
2561 <returns>
2562 An <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/> containing the
2563 <see cref="T:System.ComponentModel.Composition.Export`2"/> objects with the contract name derived from
2564 <typeparamref name="T"/>, if found; otherwise, an empty
2565 <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/>.
2566 </returns>
2567 <remarks>
2568 <para>
2569 The contract name is the result of calling
2570 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2571 </para>
2572 <para>
2573 The contract name is compared using a case-sensitive, non-linguistic comparison
2574 using <see cref="P:System.StringComparer.Ordinal"/>.
2575 </para>
2576 </remarks>
2577 <exception cref="T:System.InvalidOperationException">
2578 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
2579 </exception>
2580 <exception cref="T:System.ObjectDisposedException">
2581 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2582 </exception>
2583 </member>
2584 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``2(System.String)">
2585 <summary>
2586 Returns the exports with the specified contract name.
2587 </summary>
2588 <typeparam name="T">
2589 The type of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects to return. The
2590 contract name is also derived from this type parameter.
2591 </typeparam>
2592 <typeparam name="TMetadataView">
2593 The type of the metadata view of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects
2594 to return.
2595 </typeparam>
2596 <param name="contractName">
2597 A <see cref="T:System.String"/> containing the contract name of the
2598 <see cref="T:System.ComponentModel.Composition.Export`2"/> objects to return; or <see langword="null"/>
2599 or an empty string ("") to use the default contract name.
2600 </param>
2601 <returns>
2602 An <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/> containing the
2603 <see cref="T:System.ComponentModel.Composition.Export`2"/> objects with the specified contract name if
2604 found; otherwise, an empty <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/>.
2605 </returns>
2606 <remarks>
2607 <para>
2608 The default contract name is the result of calling
2609 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2610 </para>
2611 <para>
2612 The contract name is compared using a case-sensitive, non-linguistic comparison
2613 using <see cref="P:System.StringComparer.Ordinal"/>.
2614 </para>
2615 </remarks>
2616 <exception cref="T:System.InvalidOperationException">
2617 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
2618 </exception>
2619 <exception cref="T:System.ObjectDisposedException">
2620 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2621 </exception>
2622 </member>
2623 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports``2(System.Linq.Expressions.Expression{System.Func{System.ComponentModel.Composition.Primitives.ExportDefinition,System.Boolean}})">
2624 <summary>
2625 Returns the exports that match the conditions defined by the specified constraint.
2626 </summary>
2627 <typeparam name="T">
2628 The type of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects to return.
2629 </typeparam>
2630 <typeparam name="TMetadataView">
2631 The type of the metadata view of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects
2632 to return.
2633 </typeparam>
2634 <param name="constraint">
2635 A <see cref="T:System.Linq.Expressions.Expression`1"/> containing a <see cref="T:System.Func`2"/>
2636 that defines the conditions of the <see cref="T:System.ComponentModel.Composition.Export`2"/> objects to
2637 return or <see langword="null"/> to use the default contract name as the constraint.
2638 </param>
2639 <returns>
2640 An <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/> containing the
2641 <see cref="T:System.ComponentModel.Composition.Export`2"/> objects that match the conditions defined by
2642 the specified constraint, if found; otherwise, an empty
2643 <see cref="T:System.ComponentModel.Composition.ExportCollection`2"/>.
2644 </returns>
2645 <remarks>
2646 <para>
2647 The default contract name is the result of calling
2648 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2649 </para>
2650 <para>
2651 The contract name is compared using a case-sensitive, non-linguistic comparison
2652 using <see cref="P:System.StringComparer.Ordinal"/>.
2653 </para>
2654 </remarks>
2655 <exception cref="T:System.InvalidOperationException">
2656 <typeparamref name="TMetadataView"/> is not a valid metadata view type.
2657 </exception>
2658 <exception cref="T:System.ObjectDisposedException">
2659 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2660 </exception>
2661 </member>
2662 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedObject``1">
2663 <summary>
2664 Returns the exported object with the contract name derived from the specified type
2665 parameter, throwing an exception if there is not exactly one matching exported object.
2666 </summary>
2667 <typeparam name="T">
2668 The type of the exported object to return. The contract name is also
2669 derived from this type parameter.
2670 </typeparam>
2671 <returns>
2672 The exported <see cref="T:System.Object"/> with the contract name derived from
2673 <typeparamref name="T"/>.
2674 </returns>
2675 <remarks>
2676 <para>
2677 The contract name is the result of calling
2678 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2679 </para>
2680 <para>
2681 The contract name is compared using a case-sensitive, non-linguistic comparison
2682 using <see cref="P:System.StringComparer.Ordinal"/>.
2683 </para>
2684 </remarks>
2685 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
2686 The underlying exported object cannot be cast to <typeparamref name="T"/>.
2687 </exception>
2688 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2689 <para>
2690 There are zero exported objects with the contract name derived from
2691 <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2692 </para>
2693 -or-
2694 <para>
2695 There are more than one exported objects with the contract name derived from
2696 <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2697 </para>
2698 </exception>
2699 <exception cref="T:System.ObjectDisposedException">
2700 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2701 </exception>
2702 <exception cref="T:System.ComponentModel.Composition.CompositionException">
2703 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
2704 contain a collection of errors that occurred.
2705 </exception>
2706 </member>
2707 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedObject``1(System.String)">
2708 <summary>
2709 Returns the exported object with the specified contract name, throwing an exception
2710 if there is not exactly one matching exported object.
2711 </summary>
2712 <typeparam name="T">
2713 The type of the exported object to return.
2714 </typeparam>
2715 <param name="contractName">
2716 A <see cref="T:System.String"/> containing the contract name of the exported object to return,
2717 or <see langword="null"/> or an empty string ("") to use the default contract name.
2718 </param>
2719 <returns>
2720 The exported <see cref="T:System.Object"/> with the specified contract name.
2721 </returns>
2722 <remarks>
2723 <para>
2724 The default contract name is the result of calling
2725 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2726 </para>
2727 <para>
2728 The contract name is compared using a case-sensitive, non-linguistic comparison
2729 using <see cref="P:System.StringComparer.Ordinal"/>.
2730 </para>
2731 </remarks>
2732 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
2733 The underlying exported object cannot be cast to <typeparamref name="T"/>.
2734 </exception>
2735 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2736 <para>
2737 There are zero exported objects with the specified contract name in the
2738 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2739 </para>
2740 -or-
2741 <para>
2742 There are more than one exported objects with the specified contract name in the
2743 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2744 </para>
2745 </exception>
2746 <exception cref="T:System.ObjectDisposedException">
2747 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2748 </exception>
2749 <exception cref="T:System.ComponentModel.Composition.CompositionException">
2750 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
2751 contain a collection of errors that occurred.
2752 </exception>
2753 </member>
2754 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedObjectOrDefault``1">
2755 <summary>
2756 Returns the exported object with the contract name derived from the specified type
2757 parameter, throwing an exception if there is more than one matching exported object.
2758 </summary>
2759 <typeparam name="T">
2760 The type of the exported object to return. The contract name is also
2761 derived from this type parameter.
2762 </typeparam>
2763 <returns>
2764 The exported <see cref="T:System.Object"/> with the contract name derived from
2765 <typeparamref name="T"/>, if found; otherwise, the default value for
2766 <typeparamref name="T"/>.
2767 </returns>
2768 <remarks>
2769 <para>
2770 If the exported object is not found, then this method returns the appropriate
2771 default value for <typeparamref name="T"/>; for example, 0 (zero) for integer
2772 types, <see langword="false"/> for Boolean types, and <see langword="null"/>
2773 for reference types.
2774 </para>
2775 <para>
2776 The contract name is the result of calling
2777 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2778 </para>
2779 <para>
2780 The contract name is compared using a case-sensitive, non-linguistic comparison
2781 using <see cref="P:System.StringComparer.Ordinal"/>.
2782 </para>
2783 </remarks>
2784 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
2785 The underlying exported object cannot be cast to <typeparamref name="T"/>.
2786 </exception>
2787 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2788 <para>
2789 There are more than one exported objects with the contract name derived from
2790 <typeparamref name="T"/> in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2791 </para>
2792 </exception>
2793 <exception cref="T:System.ObjectDisposedException">
2794 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2795 </exception>
2796 <exception cref="T:System.ComponentModel.Composition.CompositionException">
2797 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
2798 contain a collection of errors that occurred.
2799 </exception>
2800 </member>
2801 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedObjectOrDefault``1(System.String)">
2802 <summary>
2803 Returns the exported object with the specified contract name, throwing an exception
2804 if there is more than one matching exported object.
2805 </summary>
2806 <typeparam name="T">
2807 The type of the exported object to return.
2808 </typeparam>
2809 <param name="contractName">
2810 A <see cref="T:System.String"/> containing the contract name of the exported object to return,
2811 or <see langword="null"/> or an empty string ("") to use the default contract name.
2812 </param>
2813 <returns>
2814 The exported <see cref="T:System.Object"/> with the specified contract name, if found;
2815 otherwise, the default value for <typeparamref name="T"/>.
2816 </returns>
2817 <remarks>
2818 <para>
2819 If the exported object is not found, then this method returns the appropriate
2820 default value for <typeparamref name="T"/>; for example, 0 (zero) for integer
2821 types, <see langword="false"/> for Boolean types, and <see langword="null"/>
2822 for reference types.
2823 </para>
2824 <para>
2825 The default contract name is the result of calling
2826 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2827 </para>
2828 <para>
2829 The contract name is compared using a case-sensitive, non-linguistic comparison
2830 using <see cref="P:System.StringComparer.Ordinal"/>.
2831 </para>
2832 </remarks>
2833 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
2834 The underlying exported object cannot be cast to <typeparamref name="T"/>.
2835 </exception>
2836 <exception cref="T:System.ComponentModel.Composition.CardinalityMismatchException">
2837 There are more than one exported objects with the specified contract name in the
2838 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
2839 </exception>
2840 <exception cref="T:System.ObjectDisposedException">
2841 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2842 </exception>
2843 <exception cref="T:System.ComponentModel.Composition.CompositionException">
2844 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
2845 contain a collection of errors that occurred.
2846 </exception>
2847 </member>
2848 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedObjects``1">
2849 <summary>
2850 Returns the exported objects with the contract name derived from the specified type
2851 parameter.
2852 </summary>
2853 <typeparam name="T">
2854 The type of the exported object to return. The contract name is also
2855 derived from this type parameter.
2856 </typeparam>
2857 <returns>
2858 An <see cref="T:System.Collections.ObjectModel.Collection`1"/> containing the exported objects with the contract name
2859 derived from the specified type parameter, if found; otherwise, an empty
2860 <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
2861 </returns>
2862 <remarks>
2863 <para>
2864 The contract name is the result of calling
2865 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2866 </para>
2867 <para>
2868 The contract name is compared using a case-sensitive, non-linguistic comparison
2869 using <see cref="P:System.StringComparer.Ordinal"/>.
2870 </para>
2871 </remarks>
2872 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
2873 One or more of the underlying exported objects cannot be cast to
2874 <typeparamref name="T"/>.
2875 </exception>
2876 <exception cref="T:System.ObjectDisposedException">
2877 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2878 </exception>
2879 <exception cref="T:System.ComponentModel.Composition.CompositionException">
2880 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
2881 contain a collection of errors that occurred.
2882 </exception>
2883 </member>
2884 <member name="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedObjects``1(System.String)">
2885 <summary>
2886 Returns the exported objects with the specified contract name.
2887 </summary>
2888 <typeparam name="T">
2889 The type of the exported object to return.
2890 </typeparam>
2891 <param name="contractName">
2892 A <see cref="T:System.String"/> containing the contract name of the exported objects to
2893 return; or <see langword="null"/> or an empty string ("") to use the default
2894 contract name.
2895 </param>
2896 <returns>
2897 An <see cref="T:System.Collections.ObjectModel.Collection`1"/> containing the exported objects with the specified
2898 contract name, if found; otherwise, an empty <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
2899 </returns>
2900 <remarks>
2901 <para>
2902 The default contract name is the result of calling
2903 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
2904 </para>
2905 <para>
2906 The contract name is compared using a case-sensitive, non-linguistic comparison
2907 using <see cref="P:System.StringComparer.Ordinal"/>.
2908 </para>
2909 </remarks>
2910 <exception cref="T:System.ComponentModel.Composition.ContractMismatchException">
2911 One or more of the underlying exported objects cannot be cast to
2912 <typeparamref name="T"/>.
2913 </exception>
2914 <exception cref="T:System.ObjectDisposedException">
2915 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
2916 </exception>
2917 <exception cref="T:System.ComponentModel.Composition.CompositionException">
2918 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
2919 contain a collection of errors that occurred.
2920 </exception>
2921 </member>
2922 <member name="E:System.ComponentModel.Composition.Hosting.ExportProvider.ExportsChanged">
2923 <summary>
2924 Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> change.
2925 </summary>
2926 </member>
2927 <member name="M:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.#ctor">
2928 <summary>
2929 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AdaptingExportProvider"/> class.
2930 </summary>
2931 </member>
2932 <member name="M:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.Dispose">
2933 <summary>
2934 Releases unmanaged and - optionally - managed resources
2935 </summary>
2936 </member>
2937 <member name="M:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.Dispose(System.Boolean)">
2938 <summary>
2939 Releases unmanaged and - optionally - managed resources
2940 </summary>
2941 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
2942 </member>
2943 <member name="M:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs)">
2944 <summary>
2945 Raises the <see cref="E:System.ComponentModel.Composition.Hosting.AggregateExportProvider.ExportsChanged"/> event.
2946 </summary>
2947 <param name="e">The <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> instance containing the event data.</param>
2948 </member>
2949 <member name="M:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition)">
2950 <summary>
2951 Returns all exports that match the conditions of the specified import.
2952 </summary>
2953 <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
2954 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
2955 <returns></returns>
2956 <result>
2957 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
2958 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
2959 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
2960 </result>
2961 <remarks>
2962 <note type="inheritinfo">
2963 The implementers should not treat the cardinality-related mismatches as errors, and are not
2964 expected to throw exceptions in those cases.
2965 For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
2966 it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
2967 </note>
2968 </remarks>
2969 </member>
2970 <member name="P:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.SourceProvider">
2971 <summary>
2972 Gets the export provider which provides the provider access to additional
2973 exports.
2974 </summary>
2975 <value>
2976 The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the
2977 <see cref="T:System.ComponentModel.Composition.Hosting.AdaptingExportProvider"/> access to additional
2978 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects. The default is <see langword="null"/>.
2979 </value>
2980 <exception cref="T:System.ArgumentNullException">
2981 <paramref name="value"/> is <see langword="null"/>.
2982 </exception>
2983 <exception cref="T:System.InvalidOperationException">
2984 This property has already been set.
2985 <para>
2986 -or-
2987 </para>
2988 The methods on the <see cref="T:System.ComponentModel.Composition.Hosting.AdaptingExportProvider"/>
2989 have already been accessed.
2990 </exception>
2991 <exception cref="T:System.ObjectDisposedException">
2992 The <see cref="T:System.ComponentModel.Composition.Hosting.AdaptingExportProvider"/> has been disposed of.
2993 </exception>
2994 <remarks>
2995 This property must be set before accessing any methods on the
2996 <see cref="T:System.ComponentModel.Composition.Hosting.AdaptingExportProvider"/>.
2997 </remarks>
2998 </member>
2999 <member name="E:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.ExportsChanged">
3000 <summary>
3001 Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> change.
3002 </summary>
3003 <remarks>
3004 The <see cref="E:System.ComponentModel.Composition.Hosting.AdaptingExportProvider.ExportsChanged"/> event passes an <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/>
3005 which provides a list of contract names for the exports that have changed. An export
3006 is considered to have changed if it has been added, removed, or updated in the
3007 <see cref="T:System.ComponentModel.Composition.Hosting.AdaptingExportProvider"/>.
3008 </remarks>
3009 </member>
3010 <member name="T:System.ComponentModel.Composition.Hosting.AggregateCatalog">
3011 <summary>
3012 A mutable collection of ComposablePartCatalogs. The events are called back using the
3013 synchronization context created when the instance is constructed.
3014 </summary>
3015 <remarks>
3016 This type is thread safe.
3017 </remarks>
3018 </member>
3019 <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog">
3020 <summary>
3021 Defines the <see langword="abstract"/> base class for composable part catalogs, which produce
3022 and return <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects.
3023 </summary>
3024 <remarks>
3025 This type is thread safe.
3026 </remarks>
3027 </member>
3028 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.#ctor">
3029 <summary>
3030 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> class.
3031 </summary>
3032 </member>
3033 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3034 <summary>
3035 Returns the export definitions that match the constraint defined by the specified definition.
3036 </summary>
3037 <param name="definition">
3038 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3039 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
3040 </param>
3041 <returns>
3042 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.TempTuple`2"/> containing the
3043 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated
3044 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined
3045 by <paramref name="definition"/>.
3046 </returns>
3047 <exception cref="T:System.ArgumentNullException">
3048 <paramref name="definition"/> is <see langword="null"/>.
3049 </exception>
3050 <exception cref="T:System.ObjectDisposedException">
3051 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> has been disposed of.
3052 </exception>
3053 <remarks>
3054 <note type="inheritinfo">
3055 Overriders of this property should never return <see langword="null"/>, if no
3056 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> match the conditions defined by
3057 <paramref name="definition"/>, return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
3058 </note>
3059 </remarks>
3060 </member>
3061 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.Dispose">
3062 <summary>
3063 Releases the unmanaged resources used by the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> and
3064 optionally releases the managed resources.
3065 </summary>
3066 <param name="disposing">
3067 <see langword="true"/> to release both managed and unmanaged resources;
3068 <see langword="false"/> to release only unmanaged resources.
3069 </param>
3070 </member>
3071 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartCatalog.Parts">
3072 <summary>
3073 Gets the part definitions of the catalog.
3074 </summary>
3075 <value>
3076 A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the
3077 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
3078 </value>
3079 <exception cref="T:System.ObjectDisposedException">
3080 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> has been disposed of.
3081 </exception>
3082 <remarks>
3083 <note type="inheritinfo">
3084 Overriders of this property should never return <see langword="null"/>.
3085 </note>
3086 </remarks>
3087 </member>
3088 <member name="T:System.ComponentModel.Composition.Primitives.INotifyComposablePartCatalogChanged">
3089 <summary>
3090 Notifications when a ComposablePartCatalog changes.
3091 </summary>
3092 </member>
3093 <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.#ctor">
3094 <summary>
3095 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> class.
3096 </summary>
3097 </member>
3098 <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartCatalog})">
3099 <summary>
3100 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> class
3101 with the specified catalogs.
3102 </summary>
3103 <param name="catalogs">
3104 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> objects to add
3105 to the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>; or <see langword="null"/> to
3106 create an <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> that is empty.
3107 </param>
3108 <exception cref="T:System.ArgumentException">
3109 <paramref name="catalogs"/> contains an element that is <see langword="null"/>.
3110 </exception>
3111 </member>
3112 <member name="M:System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3113 <summary>
3114 Returns the export definitions that match the constraint defined by the specified definition.
3115 </summary>
3116 <param name="definition">
3117 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3118 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
3119 </param>
3120 <returns>
3121 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.TempTuple`2"/> containing the
3122 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated
3123 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined
3124 by <paramref name="definition"/>.
3125 </returns>
3126 <exception cref="T:System.ArgumentNullException">
3127 <paramref name="definition"/> is <see langword="null"/>.
3128 </exception>
3129 <exception cref="T:System.ObjectDisposedException">
3130 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> has been disposed of.
3131 </exception>
3132 </member>
3133 <member name="P:System.ComponentModel.Composition.Hosting.AggregateCatalog.Parts">
3134 <summary>
3135 Gets the part definitions of the catalog.
3136 </summary>
3137 <value>
3138 A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the
3139 <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>.
3140 </value>
3141 <exception cref="T:System.ObjectDisposedException">
3142 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> has been disposed of.
3143 </exception>
3144 </member>
3145 <member name="P:System.ComponentModel.Composition.Hosting.AggregateCatalog.Catalogs">
3146 <summary>
3147 Gets the underlying catalogs of the catalog.
3148 </summary>
3149 <value>
3150 An <see cref="T:System.Collections.Generic.ICollection`1"/> of underlying <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> objects
3151 of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/>.
3152 </value>
3153 <exception cref="T:System.ObjectDisposedException">
3154 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateCatalog"/> has been disposed of.
3155 </exception>
3156 </member>
3157 <member name="E:System.ComponentModel.Composition.Hosting.AggregateCatalog.Changed">
3158 <summary>
3159 Notify when the contents of the Catalog has changed.
3160 </summary>
3161 </member>
3162 <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.#ctor(System.ComponentModel.Composition.Hosting.ExportProvider[])">
3163 <summary>
3164 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> class.
3165 </summary>
3166 <param name="providers">The prioritized list of export providers.</param>
3167 <remarks>
3168 <para>
3169 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> will consult the providers in the order they have been specfied when
3170 executing <see cref="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)"/>.
3171 </para>
3172 <para>
3173 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> does not take ownership of the specified providers.
3174 That is, it will not try to dispose of any of them when it gets disposed.
3175 </para>
3176 </remarks>
3177 </member>
3178 <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Hosting.ExportProvider})">
3179 <summary>
3180 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> class.
3181 </summary>
3182 <param name="providers">The prioritized list of export providers. The providers are consulted in order in which they are supplied.</param>
3183 <remarks>
3184 <para>
3185 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> will consult the providers in the order they have been specfied when
3186 executing <see cref="M:System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)"/>.
3187 </para>
3188 <para>
3189 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> does not take ownership of the specified providers.
3190 That is, it will not try to dispose of any of them when it gets disposed.
3191 </para>
3192 </remarks>
3193 </member>
3194 <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.Dispose">
3195 <summary>
3196 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
3197 </summary>
3198 </member>
3199 <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.Dispose(System.Boolean)">
3200 <summary>
3201 Releases unmanaged and - optionally - managed resources
3202 </summary>
3203 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
3204 </member>
3205 <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs)">
3206 <summary>
3207 Raises the <see cref="E:System.ComponentModel.Composition.Hosting.AggregateExportProvider.ExportsChanged"/> event.
3208 </summary>
3209 <param name="e">The <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> instance containing the event data.</param>
3210 </member>
3211 <member name="M:System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3212 <summary>
3213 Returns all exports that match the conditions of the specified import.
3214 </summary>
3215 <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3216 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
3217 <returns></returns>
3218 <result>
3219 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
3220 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
3221 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
3222 </result>
3223 <remarks>
3224 <note type="inheritinfo">
3225 The implementers should not treat the cardinality-related mismatches as errors, and are not
3226 expected to throw exceptions in those cases.
3227 For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
3228 it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
3229 </note>
3230 </remarks>
3231 </member>
3232 <member name="P:System.ComponentModel.Composition.Hosting.AggregateExportProvider.Providers">
3233 <summary>
3234 Gets the export providers which the aggregate export provider aggregates.
3235 </summary>
3236 <value>
3237 A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects
3238 which the <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> aggregates.
3239 </value>
3240 <exception cref="T:System.ObjectDisposedException">
3241 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> has been disposed of.
3242 </exception>
3243 </member>
3244 <member name="E:System.ComponentModel.Composition.Hosting.AggregateExportProvider.ExportsChanged">
3245 <summary>
3246 Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> change.
3247 </summary>
3248 <remarks>
3249 The <see cref="E:System.ComponentModel.Composition.Hosting.AggregateExportProvider.ExportsChanged"/> event passes an <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/>
3250 which provides a list of contract names for the exports that have changed. An export
3251 is considered to have changed if it has been added, removed, or updated in the
3252 <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/>.
3253 </remarks>
3254 <exception cref="T:System.ObjectDisposedException">
3255 The <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/> has been disposed of.
3256 </exception>
3257 </member>
3258 <member name="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog">
3259 <summary>
3260 An immutable ComposablePartCatalog created from a managed code assembly.
3261 </summary>
3262 <remarks>
3263 This type is thread safe.
3264 </remarks>
3265 </member>
3266 <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.#ctor(System.String)">
3267 <summary>
3268 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> class
3269 with the specified code base.
3270 </summary>
3271 <param name="codeBase">
3272 A <see cref="T:System.String"/> containing the code base of the assembly containing the
3273 attributed <see cref="T:System.Type"/> objects to add to the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
3274 </param>
3275 <exception cref="T:System.ArgumentNullException">
3276 <paramref name="codeBase"/> is <see langword="null"/>.
3277 </exception>
3278 <exception cref="T:System.ArgumentException">
3279 <paramref name="codeBase"/> is a zero-length string, contains only white space,
3280 or contains one or more invalid characters as defined by <see cref="F:System.IO.Path.InvalidPathChars"/>.
3281 </exception>
3282 <exception cref="T:System.IO.PathTooLongException">
3283 The specified path, file name, or both exceed the system-defined maximum length.
3284 </exception>
3285 <exception cref="T:System.Security.SecurityException">
3286 The caller does not have path discovery permission.
3287 </exception>
3288 <exception cref="T:System.IO.FileNotFoundException">
3289 <paramref name="codeBase"/> is not found.
3290 </exception>
3291 <exception cref="T:System.IO.FileLoadException">
3292 <paramref name="codeBase"/> could not be loaded.
3293 <para>
3294 -or-
3295 </para>
3296 <paramref name="codeBase"/> specified a directory.
3297 </exception>
3298 <exception cref="T:System.BadImageFormatException">
3299 <paramref name="codeBase"/> is not a valid assembly
3300 -or-
3301 Version 2.0 or later of the common language runtime is currently loaded
3302 and <paramref name="codeBase"/> was compiled with a later version.
3303 </exception>
3304 <remarks>
3305 The assembly referenced by <paramref langword="codeBase"/> is loaded into the Load context.
3306 </remarks>
3307 </member>
3308 <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.#ctor(System.Reflection.Assembly)">
3309 <summary>
3310 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> class
3311 with the specified assembly.
3312 </summary>
3313 <param name="assembly">
3314 The <see cref="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Assembly"/> containing the attributed <see cref="T:System.Type"/> objects to
3315 add to the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
3316 </param>
3317 <exception cref="T:System.ArgumentException">
3318 <paramref name="assembly"/> is <see langword="null"/>.
3319 <para>
3320 -or-
3321 </para>
3322 <paramref name="assembly"/> was loaded in the reflection-only context.
3323 </exception>
3324 </member>
3325 <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3326 <summary>
3327 Returns the export definitions that match the constraint defined by the specified definition.
3328 </summary>
3329 <param name="definition">
3330 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3331 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
3332 </param>
3333 <returns>
3334 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.TempTuple`2"/> containing the
3335 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated
3336 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined
3337 by <paramref name="definition"/>.
3338 </returns>
3339 <exception cref="T:System.ArgumentNullException">
3340 <paramref name="definition"/> is <see langword="null"/>.
3341 </exception>
3342 <exception cref="T:System.ObjectDisposedException">
3343 The <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> has been disposed of.
3344 </exception>
3345 </member>
3346 <member name="M:System.ComponentModel.Composition.Hosting.AssemblyCatalog.ToString">
3347 <summary>
3348 Returns a string representation of the assembly catalog.
3349 </summary>
3350 <returns>
3351 A <see cref="T:System.String"/> containing the string representation of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
3352 </returns>
3353 </member>
3354 <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Parts">
3355 <summary>
3356 Gets the part definitions of the assembly catalog.
3357 </summary>
3358 <value>
3359 A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the
3360 <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
3361 </value>
3362 <exception cref="T:System.ObjectDisposedException">
3363 The <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/> has been disposed of.
3364 </exception>
3365 </member>
3366 <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Assembly">
3367 <summary>
3368 Gets the assembly containing the attributed types contained within the assembly
3369 catalog.
3370 </summary>
3371 <value>
3372 The <see cref="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.Assembly"/> containing the attributed <see cref="T:System.Type"/> objects
3373 contained within the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
3374 </value>
3375 </member>
3376 <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#DisplayName">
3377 <summary>
3378 Gets the display name of the assembly catalog.
3379 </summary>
3380 <value>
3381 A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Hosting.AssemblyCatalog"/>.
3382 </value>
3383 </member>
3384 <member name="P:System.ComponentModel.Composition.Hosting.AssemblyCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#Origin">
3385 <summary>
3386 Gets the composition element from which the assembly catalog originated.
3387 </summary>
3388 <value>
3389 This property always returns <see langword="null"/>.
3390 </value>
3391 </member>
3392 <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.#ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)">
3393 <summary>
3394 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> class.
3395 </summary>
3396 <param name="catalog">
3397 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> that the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>
3398 uses to produce <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
3399 </param>
3400 <exception cref="T:System.ArgumentNullException">
3401 <paramref name="catalog"/> is <see langword="null"/>.
3402 </exception>
3403 </member>
3404 <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.Dispose">
3405 <summary>
3406 Releases unmanaged and - optionally - managed resources
3407 </summary>
3408 </member>
3409 <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.Dispose(System.Boolean)">
3410 <summary>
3411 Releases unmanaged and - optionally - managed resources
3412 </summary>
3413 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
3414 </member>
3415 <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3416 <summary>
3417 Returns all exports that match the conditions of the specified import.
3418 </summary>
3419 <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3420 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
3421 <returns></returns>
3422 <result>
3423 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
3424 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
3425 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
3426 </result>
3427 <remarks>
3428 <note type="inheritinfo">
3429 The implementers should not treat the cardinality-related mismatches as errors, and are not
3430 expected to throw exceptions in those cases.
3431 For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
3432 it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
3433 </note>
3434 </remarks>
3435 </member>
3436 <member name="M:System.ComponentModel.Composition.Hosting.CatalogExportProvider.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs)">
3437 <summary>
3438 Raises the <see cref="E:System.ComponentModel.Composition.Hosting.AggregateExportProvider.ExportsChanged"/> event.
3439 </summary>
3440 <param name="e">The <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> instance containing the event data.</param>
3441 </member>
3442 <member name="P:System.ComponentModel.Composition.Hosting.CatalogExportProvider.Catalog">
3443 <summary>
3444 Gets the composable part catalog that the provider users to
3445 produce exports.
3446 </summary>
3447 <value>
3448 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> that the
3449 <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>
3450 uses to produce <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
3451 </value>
3452 <exception cref="T:System.ObjectDisposedException">
3453 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
3454 </exception>
3455 </member>
3456 <member name="P:System.ComponentModel.Composition.Hosting.CatalogExportProvider.SourceProvider">
3457 <summary>
3458 Gets the export provider which provides the provider access to additional
3459 exports.
3460 </summary>
3461 <value>
3462 The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the
3463 <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> access to additional
3464 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects. The default is <see langword="null"/>.
3465 </value>
3466 <exception cref="T:System.ArgumentNullException">
3467 <paramref name="value"/> is <see langword="null"/>.
3468 </exception>
3469 <exception cref="T:System.InvalidOperationException">
3470 This property has already been set.
3471 <para>
3472 -or-
3473 </para>
3474 The methods on the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>
3475 have already been accessed.
3476 </exception>
3477 <exception cref="T:System.ObjectDisposedException">
3478 The <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> has been disposed of.
3479 </exception>
3480 <remarks>
3481 This property must be set before accessing any methods on the
3482 <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>.
3483 </remarks>
3484 </member>
3485 <member name="E:System.ComponentModel.Composition.Hosting.CatalogExportProvider.ExportsChanged">
3486 <summary>
3487 Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> change.
3488 </summary>
3489 <remarks>
3490 The <see cref="E:System.ComponentModel.Composition.Hosting.CatalogExportProvider.ExportsChanged"/> event passes an <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/>
3491 which provides a list of contract names for the exports that have changed. An export
3492 is considered to have changed if it has been added, removed, or updated in the
3493 <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>.
3494 </remarks>
3495 </member>
3496 <member name="T:System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection">
3497 <summary>
3498 This class implements a threadsafe ICollection{T} of ComposablePartCatalog.
3499 It is exposed as an ICollection(ComposablePartCatalog)
3500 It is threadsafe, notifications are not marshalled using a SynchronizationContext.
3501 It is Disposable.
3502 </summary>
3503 </member>
3504 <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#ctor">
3505 <summary>
3506 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> class.
3507 </summary>
3508 </member>
3509 <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Dispose">
3510 <summary>
3511 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
3512 </summary>
3513 </member>
3514 <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Dispose(System.Boolean)">
3515 <summary>
3516 Releases unmanaged and - optionally - managed resources
3517 </summary>
3518 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
3519 </member>
3520 <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3521 <summary>
3522 Returns all exports that match the conditions of the specified import.
3523 </summary>
3524 <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3525 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
3526 <returns></returns>
3527 <result>
3528 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
3529 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
3530 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
3531 </result>
3532 <remarks>
3533 <note type="inheritinfo">
3534 The implementers should not treat the cardinality-related mismatches as errors, and are not
3535 expected to throw exceptions in those cases.
3536 For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
3537 it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
3538 </note>
3539 </remarks>
3540 </member>
3541 <member name="M:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs)">
3542 <summary>
3543 Raises the <see cref="E:ExportsChanged"/> event.
3544 </summary>
3545 <param name="e">The <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> instance containing the event data.</param>
3546 </member>
3547 <member name="P:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.SourceProvider">
3548 <summary>
3549 Gets the export provider which provides the provider access to
3550 exports.
3551 </summary>
3552 <value>
3553 The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the
3554 <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
3555 The default is <see langword="null"/>.
3556 </value>
3557 <exception cref="T:System.ArgumentNullException">
3558 <paramref name="value"/> is <see langword="null"/>.
3559 </exception>
3560 <exception cref="T:System.InvalidOperationException">
3561 This property has already been set.
3562 <para>
3563 -or-
3564 </para>
3565 The methods on the <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/>
3566 have already been accessed.
3567 </exception>
3568 <exception cref="T:System.ObjectDisposedException">
3569 The <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/> has been disposed of.
3570 </exception>
3571 <remarks>
3572 This property must be set before accessing any methods on the
3573 <see cref="T:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider"/>.
3574 </remarks>
3575 </member>
3576 <member name="E:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.ExportsChanged">
3577 <summary>
3578 Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> change.
3579 </summary>
3580 <remarks>
3581 The <see cref="E:System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.ExportsChanged"/> event passes an <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/>
3582 which provides a list of contract names for the exports that have changed. An export
3583 is considered to have changed if it has been added, removed, or updated in the
3584 <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/>.
3585 </remarks>
3586 </member>
3587 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.#ctor">
3588 <summary>
3589 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/> class.
3590 </summary>
3591 </member>
3592 <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})">
3593 <summary>
3594 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/> class.
3595 </summary>
3596 <param name="partsToAdd">The parts to add.</param>
3597 <param name="partsToRemove">The parts to remove.</param>
3598 <exception cref="T:System.ArgumentNullException">
3599 <paramref name="partsToAdd"/> is <see langword="null"/>.
3600 <para>
3601 -or-
3602 </para>
3603 <paramref name="partsToRemove"/> is <see langword="null"/>.
3604 </exception>
3605 </member>
3606 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddPart(System.ComponentModel.Composition.Primitives.ComposablePart)">
3607 <summary>
3608 Adds the specified part to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3609 </summary>
3610 <param name="part">
3611 The part.
3612 </param>
3613 <exception cref="T:System.ArgumentNullException">
3614 <paramref name="part"/> is <see langword="null"/>.
3615 </exception>
3616 </member>
3617 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.RemovePart(System.ComponentModel.Composition.Primitives.ComposablePart)">
3618 <summary>
3619 Removes the specified part from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3620 </summary>
3621 <param name="part">
3622 The part.
3623 </param>
3624 <exception cref="T:System.ArgumentNullException">
3625 <paramref name="part"/> is <see langword="null"/>.
3626 </exception>
3627 </member>
3628 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddExportedObject``1(``0)">
3629 <summary>
3630 Adds the specified object to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>, exporting it under a contract
3631 name derived from the specified type parameter.
3632 </summary>
3633 <typeparam name="T">
3634 The type of the object to add. The contract name is also derived from this type
3635 parameter.
3636 </typeparam>
3637 <param name="exportedObject">
3638 The <see cref="T:System.Object"/> to add to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>. This can
3639 be <see langword="null"/>.
3640 </param>
3641 <returns>
3642 A <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that can be used remove the <see cref="T:System.Object"/>
3643 from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3644 </returns>
3645 <remarks>
3646 <para>
3647 The contract name is the result of calling
3648 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on <typeparamref name="T"/>.
3649 </para>
3650 </remarks>
3651 </member>
3652 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddExportedObject(System.String,System.Object)">
3653 <summary>
3654 Adds the specified object to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>, exporting it under the specified
3655 contract name.
3656 </summary>
3657 <param name="contractName">
3658 A <see cref="T:System.String"/> containing the contract name to export the <see cref="T:System.Object"/>
3659 under.
3660 </param>
3661 <param name="exportedObject">
3662 The <see cref="T:System.Object"/> to add to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>. This can
3663 be <see langword="null"/>.
3664 </param>
3665 <returns>
3666 A <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that can be used remove the <see cref="T:System.Object"/>
3667 from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3668 </returns>
3669 <exception cref="T:System.ArgumentNullException">
3670 <paramref name="contractName"/> is <see langword="null"/>.
3671 </exception>
3672 <exception cref="T:System.ArgumentException">
3673 <paramref name="contractName"/> is an empty string ("").
3674 </exception>
3675 <remarks>
3676 </remarks>
3677
3678 </member>
3679 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddExport(System.ComponentModel.Composition.Primitives.Export)">
3680 <summary>
3681 Adds the specified export to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3682 </summary>
3683 <param name="export">
3684 The <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to add to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3685 </param>
3686 <returns>
3687 A <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that can be used remove the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>
3688 from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3689 </returns>
3690 <exception cref="T:System.ArgumentNullException">
3691 <paramref name="export"/> is <see langword="null"/>.
3692 </exception>
3693 <remarks>
3694 </remarks>
3695 </member>
3696 <member name="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddPart(System.Object)">
3697 <summary>
3698 Adds the specified attributed composable part to the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3699 </summary>
3700 <param name="attributedPart">
3701 An <see cref="T:System.Object"/> containing the attributed composable part to add to the
3702 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3703 </param>
3704 <returns>
3705 A <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> that can be used remove the composable part from
3706 the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionBatch"/>.
3707 </returns>
3708 <exception cref="T:System.ArgumentNullException">
3709 <paramref name="attributedPart"/> is <see langword="null"/>.
3710 </exception>
3711 <remarks>
3712 <para>
3713 This method is equivalent to passing <paramref name="attributedPart"/> to
3714 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.CreateAttributedPart(System.Object)"/> and passing the created
3715 instance to <see cref="M:System.ComponentModel.Composition.Hosting.CompositionBatch.AddPart(System.ComponentModel.Composition.Primitives.ComposablePart)"/>.
3716 </para>
3717 </remarks>
3718 </member>
3719 <member name="P:System.ComponentModel.Composition.Hosting.CompositionBatch.PartsToAdd">
3720 <summary>
3721 Returns the collection of parts that will be added.
3722 </summary>
3723 <value>The parts to be added.</value>
3724 </member>
3725 <member name="P:System.ComponentModel.Composition.Hosting.CompositionBatch.PartsToRemove">
3726 <summary>
3727 Returns the collection of parts that will be removed.
3728 </summary>
3729 <value>The parts to be removed.</value>
3730 </member>
3731 <member name="T:System.ComponentModel.Composition.ICompositionService">
3732 <summary>
3733 Provides methods for composing <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects.
3734 </summary>
3735 </member>
3736 <member name="M:System.ComponentModel.Composition.ICompositionService.SatisfyImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.Boolean)">
3737 <summary>
3738 Sets the imports of the specified composable part and registering for it for
3739 recomposition.
3740 </summary>
3741 <param name="part">
3742 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports and register for recomposition.
3743 </param>
3744 <param name="registerForRecomposition">
3745 Indicates whether the part will keep recomposing after the initial import satisfaction
3746 </param>
3747 <exception cref="T:System.ArgumentNullException">
3748 <paramref name="part"/> is <see langword="null"/>.
3749 </exception>
3750 <exception cref="T:System.ComponentModel.Composition.CompositionException">
3751 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
3752 contain a collection of errors that occurred.
3753 </exception>
3754 <exception cref="T:System.ObjectDisposedException">
3755 The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
3756 </exception>
3757 </member>
3758 <member name="M:System.ComponentModel.Composition.ICompositionService.UnregisterForRecomposition(System.ComponentModel.Composition.Primitives.ComposablePart)">
3759 <summary>
3760 Unregisters the specified part from recomposition.
3761 </summary>
3762 <param name="part">
3763 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to unregister from recomposition.
3764 </param>
3765 <exception cref="T:System.ArgumentNullException">
3766 <paramref name="part"/> is <see langword="null"/>.
3767 </exception>
3768 <exception cref="T:System.ObjectDisposedException">
3769 The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
3770 </exception>
3771 </member>
3772 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.#ctor">
3773 <summary>
3774 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> class.
3775 </summary>
3776 </member>
3777 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.#ctor(System.ComponentModel.Composition.Hosting.ExportProvider[])">
3778 <summary>
3779 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> class
3780 with the specified export providers.
3781 </summary>
3782 <param name="providers">
3783 A <see cref="T:System.Array"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects which provide
3784 the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects,
3785 or <see langword="null"/> to set <see cref="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Providers"/> to an empty
3786 <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/>.
3787 </param>
3788 <exception cref="T:System.ArgumentException">
3789 <paramref name="providers"/> contains an element that is <see langword="null"/>.
3790 </exception>
3791 </member>
3792 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.#ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.ExportProvider[])">
3793 <summary>
3794 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> class
3795 with the specified catalog and export providers.
3796 </summary>
3797 <param name="providers">
3798 A <see cref="T:System.Array"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects which provide
3799 the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects,
3800 or <see langword="null"/> to set <see cref="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Providers"/> to an empty
3801 <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/>.
3802 </param>
3803 <exception cref="T:System.ArgumentException">
3804 <paramref name="providers"/> contains an element that is <see langword="null"/>.
3805 </exception>
3806 </member>
3807 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.Dispose">
3808 <summary>
3809 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
3810 </summary>
3811 </member>
3812 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.Dispose(System.Boolean)">
3813 <summary>
3814 Releases unmanaged and - optionally - managed resources
3815 </summary>
3816 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
3817 </member>
3818 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.ReleaseExport(System.ComponentModel.Composition.Primitives.Export)">
3819 <summary>
3820 Releases the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> from the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>. Depending
3821 on which <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> this <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> came from Release will cause
3822 different behavior to occur.
3823
3824 For example the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/> will only release
3825 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
3826 under a <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> context. Release in this context means walking
3827 the dependency chain of the <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>s and removing references and calling Dispose on
3828 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
3829 a <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> context the <see cref="T:System.ComponentModel.Composition.Hosting.CatalogExportProvider"/>
3830 will do nothing because it is a shared <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> and may be in use by other requestors.
3831 </summary>
3832 <param name="export"><see cref="T:System.ComponentModel.Composition.Primitives.Export"/> that needs to be released.</param>
3833 <exception cref="T:System.ArgumentNullException">
3834 <paramref name="export"/> is <see langword="null"/>.
3835 </exception>
3836 </member>
3837 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.SatisfyImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.Boolean)">
3838 <summary>
3839 Satisfies the imports of the specified composable part and registering for it for
3840 recomposition if requested.
3841 </summary>
3842 <param name="part">
3843 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports and register for recomposition.
3844 </param>
3845 <param name="registerForRecomposition">
3846 Indicates whether the part will keep recomposing after the initial import satisfaction
3847 </param>
3848 <exception cref="T:System.ArgumentNullException">
3849 <paramref name="part"/> is <see langword="null"/>.
3850 </exception>
3851 <exception cref="T:System.ComponentModel.Composition.CompositionException">
3852 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
3853 contain a collection of errors that occurred.
3854 </exception>
3855 <exception cref="T:System.ObjectDisposedException">
3856 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
3857 </exception>
3858 </member>
3859 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.UnregisterForRecomposition(System.ComponentModel.Composition.Primitives.ComposablePart)">
3860 <summary>
3861 Unregisters the specified part from recomposition.
3862 </summary>
3863 <param name="part">
3864 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to unregister from recomposition.
3865 </param>
3866 <exception cref="T:System.ArgumentNullException">
3867 <paramref name="part"/> is <see langword="null"/>.
3868 </exception>
3869 <exception cref="T:System.ObjectDisposedException">
3870 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
3871 </exception>
3872 </member>
3873 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs)">
3874 <summary>
3875 Raises the <see cref="E:System.ComponentModel.Composition.Hosting.CompositionContainer.ExportsChanged"/> event.
3876 </summary>
3877 <param name="e">
3878 An <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> containing the event data.
3879 </param>
3880 </member>
3881 <member name="M:System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition)">
3882 <summary>
3883 Returns all exports that match the conditions of the specified import.
3884 </summary>
3885 <param name="definition">The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
3886 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> to get.</param>
3887 <returns></returns>
3888 <result>
3889 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects that match
3890 the conditions defined by <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>, if found; otherwise, an
3891 empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
3892 </result>
3893 <remarks>
3894 <note type="inheritinfo">
3895 The implementers should not treat the cardinality-related mismatches as errors, and are not
3896 expected to throw exceptions in those cases.
3897 For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
3898 it should return an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>.
3899 </note>
3900 </remarks>
3901 </member>
3902 <member name="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Catalog">
3903 <summary>
3904 Gets the catalog which provides the container access to exports produced
3905 from composable parts.
3906 </summary>
3907 <value>
3908 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/> which provides the
3909 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to exports produced from
3910 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> objects. The default is <see langword="null"/>.
3911 </value>
3912 <exception cref="T:System.ObjectDisposedException">
3913 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
3914 </exception>
3915 </member>
3916 <member name="P:System.ComponentModel.Composition.Hosting.CompositionContainer.Providers">
3917 <summary>
3918 Gets the export providers which provide the container access to additional exports.
3919 </summary>
3920 <value>
3921 A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/> of <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> objects
3922 which provide the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> access to additional
3923 <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects. The default is an empty
3924 <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/>.
3925 </value>
3926 <exception cref="T:System.ObjectDisposedException">
3927 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
3928 </exception>
3929 </member>
3930 <member name="E:System.ComponentModel.Composition.Hosting.CompositionContainer.ExportsChanged">
3931 <summary>
3932 Occurs when the exports in the <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> change.
3933 </summary>
3934 <remarks>
3935 The <see cref="E:System.ComponentModel.Composition.Hosting.CompositionContainer.ExportsChanged"/> event passes an <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/>
3936 which provides a list of contract names for the exports that have changed. An export
3937 is considered to have changed if it has been added, removed, or updated in the
3938 <see cref="T:System.ComponentModel.Composition.Hosting.AggregateExportProvider"/>.
3939 </remarks>
3940 </member>
3941 <member name="M:System.ComponentModel.Composition.Hosting.CompositionEngine.#ctor">
3942 <summary>
3943 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/> class.
3944 </summary>
3945 </member>
3946 <member name="M:System.ComponentModel.Composition.Hosting.CompositionEngine.Dispose">
3947 <summary>
3948 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
3949 </summary>
3950 </member>
3951 <member name="M:System.ComponentModel.Composition.Hosting.CompositionEngine.Dispose(System.Boolean)">
3952 <summary>
3953 Releases unmanaged and - optionally - managed resources
3954 </summary>
3955 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
3956 </member>
3957 <member name="M:System.ComponentModel.Composition.Hosting.CompositionEngine.SatisfyImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.Boolean)">
3958 <summary>
3959 Satisfies the imports of the specified composable part and registering for it for
3960 recomposition if requested.
3961 </summary>
3962 <param name="part">
3963 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports and register for recomposition.
3964 </param>
3965 <param name="registerForRecomposition">
3966 Indicates whether the part will keep recomposing after the initial import satisfaction
3967 </param>
3968 <exception cref="T:System.ArgumentNullException">
3969 <paramref name="part"/> is <see langword="null"/>.
3970 </exception>
3971 <exception cref="T:System.ComponentModel.Composition.CompositionException">
3972 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
3973 contain a collection of errors that occurred.
3974 </exception>
3975 <exception cref="T:System.InvalidOperationException">
3976 The <see cref="P:System.ComponentModel.Composition.Hosting.CompositionEngine.SourceProvider"/> property was not set.
3977 </exception>
3978 <exception cref="T:System.ObjectDisposedException">
3979 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/> has been disposed of.
3980 </exception>
3981 </member>
3982 <member name="M:System.ComponentModel.Composition.Hosting.CompositionEngine.UnregisterForRecomposition(System.ComponentModel.Composition.Primitives.ComposablePart)">
3983 <summary>
3984 Unregisters the specified part from recomposition.
3985 </summary>
3986 <param name="part">
3987 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to unregister from recomposition.
3988 </param>
3989 <exception cref="T:System.ArgumentNullException">
3990 <paramref name="part"/> is <see langword="null"/>.
3991 </exception>
3992 <exception cref="T:System.InvalidOperationException">
3993 The <see cref="P:System.ComponentModel.Composition.Hosting.CompositionEngine.SourceProvider"/> property was not set.
3994 </exception>
3995 <exception cref="T:System.ObjectDisposedException">
3996 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/> has been disposed of.
3997 </exception>
3998 </member>
3999 <member name="P:System.ComponentModel.Composition.Hosting.CompositionEngine.SourceProvider">
4000 <summary>
4001 Gets the export provider which provides the composition engine access to
4002 exports.
4003 </summary>
4004 <value>
4005 The <see cref="T:System.ComponentModel.Composition.Hosting.ExportProvider"/> which provides the
4006 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/> access to <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
4007 The default is <see langword="null"/>.
4008 </value>
4009 <exception cref="T:System.ArgumentNullException">
4010 <paramref name="value"/> is <see langword="null"/>.
4011 </exception>
4012 <exception cref="T:System.InvalidOperationException">
4013 This property has already been set.
4014 <para>
4015 -or-
4016 </para>
4017 The methods on the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/>
4018 have already been accessed.
4019 </exception>
4020 <exception cref="T:System.ObjectDisposedException">
4021 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/> has been disposed of.
4022 </exception>
4023 <remarks>
4024 This property must be set before accessing any methods on the
4025 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionEngine"/>.
4026 </remarks>
4027 </member>
4028 <member name="M:System.ComponentModel.Composition.Hosting.CompositionServices.IsAtMostOne(System.ComponentModel.Composition.Primitives.ImportCardinality)">
4029 <summary>
4030 Returns a value indicating whether cardinality is
4031 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne"/> or
4032 <see cref="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne"/>.
4033 </summary>
4034 </member>
4035 <member name="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs">
4036 <summary>
4037 Provides data for the <see cref="E:System.ComponentModel.Composition.Hosting.CompositionContainer.ExportsChanged"/> event.
4038 </summary>
4039 </member>
4040 <member name="M:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs.#ctor(System.Collections.Generic.IEnumerable{System.String})">
4041 <summary>
4042 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs"/> class with
4043 the specified changed contract names.
4044 </summary>
4045 <param name="changedContractNames">
4046 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of strings representing the contract names of the
4047 exports that have changed in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
4048 </param>
4049 <exception cref="T:System.ArgumentNullException">
4050 <paramref name="changedContractNames"/> is <see langword="null"/>.
4051 </exception>
4052 </member>
4053 <member name="P:System.ComponentModel.Composition.Hosting.ExportsChangedEventArgs.ChangedContractNames">
4054 <summary>
4055 Gets the contract names of the exports that have changed.
4056 </summary>
4057 <value>
4058 A <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1"/> of strings representing the contract names of
4059 the exports that have changed in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
4060 </value>
4061 </member>
4062 <member name="T:System.ComponentModel.Composition.Hosting.TypeCatalog">
4063 <summary>
4064 An immutable ComposablePartCatalog created from a type array or a list of managed types. This class is threadsafe.
4065 It is Disposable.
4066 </summary>
4067 </member>
4068 <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.#ctor(System.Type[])">
4069 <summary>
4070 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> class
4071 with the specified types.
4072 </summary>
4073 <param name="types">
4074 An <see cref="T:System.Array"/> of attributed <see cref="T:System.Type"/> objects to add to the
4075 <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
4076 </param>
4077 <exception cref="T:System.ArgumentNullException">
4078 <paramref name="types"/> is <see langword="null"/>.
4079 </exception>
4080 <exception cref="T:System.ArgumentException">
4081 <paramref name="types"/> contains an element that is <see langword="null"/>.
4082 <para>
4083 -or-
4084 </para>
4085 <paramref name="types"/> contains an element that was loaded in the Reflection-only context.
4086 </exception>
4087 </member>
4088 <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.#ctor(System.Collections.Generic.IEnumerable{System.Type})">
4089 <summary>
4090 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> class
4091 with the specified types.
4092 </summary>
4093 <param name="types">
4094 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of attributed <see cref="T:System.Type"/> objects to add
4095 to the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
4096 </param>
4097 <exception cref="T:System.ArgumentNullException">
4098 <paramref name="types"/> is <see langword="null"/>.
4099 </exception>
4100 <exception cref="T:System.ArgumentException">
4101 <paramref name="types"/> contains an element that is <see langword="null"/>.
4102 <para>
4103 -or-
4104 </para>
4105 <paramref name="types"/> contains an element that was loaded in the reflection-only context.
4106 </exception>
4107 </member>
4108 <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
4109 <summary>
4110 Returns the export definitions that match the constraint defined by the specified definition.
4111 </summary>
4112 <param name="definition">
4113 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
4114 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
4115 </param>
4116 <returns>
4117 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.TempTuple`2"/> containing the
4118 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated
4119 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined
4120 by <paramref name="definition"/>.
4121 </returns>
4122 <exception cref="T:System.ArgumentNullException">
4123 <paramref name="definition"/> is <see langword="null"/>.
4124 </exception>
4125 <exception cref="T:System.ObjectDisposedException">
4126 The <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> has been disposed of.
4127 </exception>
4128 </member>
4129 <member name="M:System.ComponentModel.Composition.Hosting.TypeCatalog.ToString">
4130 <summary>
4131 Returns a string representation of the type catalog.
4132 </summary>
4133 <returns>
4134 A <see cref="T:System.String"/> containing the string representation of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
4135 </returns>
4136 </member>
4137 <member name="P:System.ComponentModel.Composition.Hosting.TypeCatalog.Parts">
4138 <summary>
4139 Gets the part definitions of the catalog.
4140 </summary>
4141 <value>
4142 A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the
4143 <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
4144 </value>
4145 <exception cref="T:System.ObjectDisposedException">
4146 The <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/> has been disposed of.
4147 </exception>
4148 </member>
4149 <member name="P:System.ComponentModel.Composition.Hosting.TypeCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#DisplayName">
4150 <summary>
4151 Gets the display name of the type catalog.
4152 </summary>
4153 <value>
4154 A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Hosting.TypeCatalog"/>.
4155 </value>
4156 </member>
4157 <member name="P:System.ComponentModel.Composition.Hosting.TypeCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#Origin">
4158 <summary>
4159 Gets the composition element from which the type catalog originated.
4160 </summary>
4161 <value>
4162 This property always returns <see langword="null"/>.
4163 </value>
4164 </member>
4165 <member name="T:System.ComponentModel.Composition.ImportingConstructorAttribute">
4166 <summary>
4167 Specifies that a constructor should be used when constructing an attributed part.
4168 </summary>
4169 <remarks>
4170 By default, only a default parameter-less constructor, if available, is used to
4171 construct an attributed part. Use this attribute to indicate that a specific constructor
4172 should be used.
4173 </remarks>
4174 </member>
4175 <member name="M:System.ComponentModel.Composition.ImportingConstructorAttribute.#ctor">
4176 <summary>
4177 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportingConstructorAttribute"/> class.
4178 </summary>
4179 </member>
4180 <member name="T:System.ComponentModel.Composition.MetadataViewAttribute">
4181 <summary>
4182 Specifies the provider for constructing Metadata Views
4183 </summary>
4184 </member>
4185 <member name="M:System.ComponentModel.Composition.MetadataViewAttribute.#ctor">
4186 <summary>
4187 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.MetadataViewAttribute"/> class.
4188 </summary>
4189 </member>
4190 <member name="P:System.ComponentModel.Composition.MetadataViewAttribute.Provider">
4191 <summary>
4192 Gets or sets a value indicating the Type which operates as a provider for
4193 Strongly Typed Metadata Views.
4194 </summary>
4195 <value>
4196 The Type that is the provider for Strongly Typed Metadata Views
4197 </value>
4198 </member>
4199 <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalogChangedEventArgs">
4200 <summary>
4201 Provides data for the <see cref="E:System.ComponentModel.Composition.Primitives.INotifyComposablePartCatalogChanged.Changed"/> event.
4202 </summary>
4203 </member>
4204 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartCatalogChangedEventArgs.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.ComposablePartDefinition})">
4205 <summary>
4206 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalogChangedEventArgs"/>
4207 class with the specified changed <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects.
4208 </summary>
4209 <param name="changedDefinitions">
4210 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects that
4211 have changed in the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
4212 </param>
4213 <exception cref="T:System.ArgumentNullException">
4214 <paramref name="changedParts"/> is <see langword="null"/>.
4215 </exception>
4216 </member>
4217 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartCatalogChangedEventArgs.ChangedDefinitions">
4218 <summary>
4219 Gets the identifiers of the parts that have changed.
4220 </summary>
4221 <value>
4222 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects that
4223 have changed in the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>.
4224 </value>
4225 </member>
4226 <member name="T:System.ComponentModel.Composition.Primitives.ComposablePartException">
4227 <summary>
4228 The exception that is thrown when an error occurs when calling methods on a
4229 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
4230 </summary>
4231 </member>
4232 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor">
4233 <summary>
4234 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class.
4235 </summary>
4236 </member>
4237 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String)">
4238 <summary>
4239 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class
4240 with the specified error message.
4241 </summary>
4242 <param name="message">
4243 A <see cref="T:System.String"/> containing a message that describes the
4244 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4245 the <see cref="P:System.Exception.Message"/> property to its default value.
4246 </param>
4247 <param name="element">
4248 The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
4249 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4250 the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartException.Element"/> property to
4251 <see langword="null"/>.
4252 </param>
4253 </member>
4254 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement)">
4255 <summary>
4256 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class
4257 with the specified error message and composition element that is the cause of
4258 the exception.
4259 </summary>
4260 <param name="message">
4261 A <see cref="T:System.String"/> containing a message that describes the
4262 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4263 the <see cref="P:System.Exception.Message"/> property to its default value.
4264 </param>
4265 </member>
4266 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String,System.Exception)">
4267 <summary>
4268 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class
4269 with the specified error message and exception that is the cause of the
4270 exception.
4271 </summary>
4272 <param name="message">
4273 A <see cref="T:System.String"/> containing a message that describes the
4274 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4275 the <see cref="P:System.Exception.Message"/> property to its default value.
4276 </param>
4277 <param name="innerException">
4278 The <see cref="T:System.Exception"/> that is the underlying cause of the
4279 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4280 the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
4281 </param>
4282 </member>
4283 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception)">
4284 <summary>
4285 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class
4286 with the specified error message, and composition element and exception that
4287 are the cause of the exception.
4288 </summary>
4289 <param name="message">
4290 A <see cref="T:System.String"/> containing a message that describes the
4291 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4292 the <see cref="P:System.Exception.Message"/> property to its default value.
4293 </param>
4294 <param name="element">
4295 The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
4296 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4297 the <see cref="P:System.ComponentModel.Composition.Primitives.ComposablePartException.Element"/> property to
4298 <see langword="null"/>.
4299 </param>
4300 <param name="innerException">
4301 The <see cref="T:System.Exception"/> that is the underlying cause of the
4302 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4303 the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
4304 </param>
4305 </member>
4306 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4307 <summary>
4308 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/> class
4309 with the specified serialization data.
4310 </summary>
4311 <param name="info">
4312 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
4313 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
4314 </param>
4315 <param name="context">
4316 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
4317 source or destination.
4318 </param>
4319 <exception cref="T:System.ArgumentNullException">
4320 <paramref name="info"/> is <see langword="null"/>.
4321 </exception>
4322 <exception cref="T:System.Runtime.Serialization.SerializationException">
4323 <paramref name="info"/> is missing a required value.
4324 </exception>
4325 <exception cref="T:System.InvalidCastException">
4326 <paramref name="info"/> contains a value that cannot be cast to the correct type.
4327 </exception>
4328 </member>
4329 <member name="M:System.ComponentModel.Composition.Primitives.ComposablePartException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4330 <summary>
4331 Gets the serialization data of the exception.
4332 </summary>
4333 <param name="info">
4334 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
4335 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
4336 </param>
4337 <param name="context">
4338 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
4339 source or destination.
4340 </param>
4341 <exception cref="T:System.ArgumentNullException">
4342 <paramref name="info"/> is <see langword="null"/>.
4343 </exception>
4344 </member>
4345 <member name="P:System.ComponentModel.Composition.Primitives.ComposablePartException.Element">
4346 <summary>
4347 Gets the composition element that is the cause of the exception.
4348 </summary>
4349 <value>
4350 The <see cref="T:System.ComponentModel.Composition.Primitives.ICompositionElement"/> that is the cause of the
4351 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>. The default is <see langword="null"/>.
4352 </value>
4353 </member>
4354 <member name="T:System.ComponentModel.Composition.Primitives.ImportCardinality">
4355 <summary>
4356 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"/>.
4357 </summary>
4358 </member>
4359 <member name="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrOne">
4360 <summary>
4361 Zero or one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects are required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
4362 </summary>
4363 </member>
4364 <member name="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ExactlyOne">
4365 <summary>
4366 Exactly one <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> object is required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
4367 </summary>
4368 </member>
4369 <member name="F:System.ComponentModel.Composition.Primitives.ImportCardinality.ZeroOrMore">
4370 <summary>
4371 Zero or more <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects are required by an <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/>.
4372 </summary>
4373 </member>
4374 <member name="T:System.ComponentModel.Composition.PartMetadataAttribute">
4375 <summary>
4376 Specifies metadata for a type to be used as a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> and
4377 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
4378 </summary>
4379 </member>
4380 <member name="M:System.ComponentModel.Composition.PartMetadataAttribute.#ctor(System.String,System.Object)">
4381 <summary>
4382 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.PartMetadataAttribute"/> with the
4383 specified name and metadata value.
4384 </summary>
4385 <param name="name">
4386 A <see cref="T:System.String"/> containing the name of the metadata value; or
4387 <see langword="null"/> to use an empty string ("").
4388 </param>
4389 <param name="value">
4390 An <see cref="T:System.Object"/> containing the metadata value. This can be
4391 <see langword="null"/>.
4392 </param>
4393 </member>
4394 <member name="P:System.ComponentModel.Composition.PartMetadataAttribute.Name">
4395 <summary>
4396 Gets the name of the metadata value.
4397 </summary>
4398 <value>
4399 A <see cref="T:System.String"/> containing the name of the metadata value.
4400 </value>
4401 </member>
4402 <member name="P:System.ComponentModel.Composition.PartMetadataAttribute.Value">
4403 <summary>
4404 Gets the metadata value.
4405 </summary>
4406 <value>
4407 An <see cref="T:System.Object"/> containing the metadata value.
4408 </value>
4409 </member>
4410 <member name="T:System.ComponentModel.Composition.ExportCollection">
4411 <summary>
4412 Represents a collection of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects.
4413 </summary>
4414 </member>
4415 <member name="M:System.ComponentModel.Composition.ExportCollection.#ctor">
4416 <summary>
4417 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportCollection"/> class
4418 that is empty.
4419 </summary>
4420 </member>
4421 <member name="M:System.ComponentModel.Composition.ExportCollection.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.Primitives.Export})">
4422 <summary>
4423 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportCollection"/> class,
4424 adding the specified <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/>
4425 objects to the collection.
4426 </summary>
4427 <param name="items">
4428 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.Export"/> objects to add
4429 to the <see cref="T:System.ComponentModel.Composition.ExportCollection"/>; or <see langword="null"/> to create
4430 an <see cref="T:System.ComponentModel.Composition.ExportCollection"/> that is empty.
4431 </param>
4432 </member>
4433 <member name="T:System.ComponentModel.Composition.ImportRequiredMetadataAttribute">
4434 <summary>
4435 Specifies required metadata for a property, field or parameter marked with the
4436 <see cref="T:System.ComponentModel.Composition.ImportAttribute"/>.
4437 </summary>
4438 <remarks>
4439 By default, any export that matches the contract name of an import will be considered a
4440 match for that import. Use this attribute to indicate that an export should also contain
4441 specific metadata to be considered a match.
4442 </remarks>
4443 </member>
4444 <member name="M:System.ComponentModel.Composition.ImportRequiredMetadataAttribute.#ctor(System.String)">
4445 <summary>
4446 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportRequiredMetadataAttribute"/> class
4447 with the specified required metadata name.
4448 </summary>
4449 <param name="name">
4450 A <see cref="T:System.String"/> containing the name of the required metadata value, or
4451 <see langword="null"/> to use an empty string ("").
4452 </param>
4453 </member>
4454 <member name="P:System.ComponentModel.Composition.ImportRequiredMetadataAttribute.Name">
4455 <summary>
4456 Gets the name of the required metadata value.
4457 </summary>
4458 <value>
4459 A <see cref="T:System.String"/> containing the name of the required metadata value.
4460 </value>
4461 </member>
4462 <member name="T:System.ComponentModel.Composition.CompositionException">
4463 <summary>
4464 The exception that is thrown when one or more errors occur during composition in
4465 a <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>.
4466 </summary>
4467 </member>
4468 <member name="M:System.ComponentModel.Composition.CompositionException.#ctor">
4469 <summary>
4470 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class.
4471 </summary>
4472 </member>
4473 <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.String)">
4474 <summary>
4475 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class
4476 with the specified error message.
4477 </summary>
4478 <param name="message">
4479 A <see cref="T:System.String"/> containing a message that describes the
4480 <see cref="T:System.ComponentModel.Composition.CompositionException"/>; or <see langword="null"/> to set
4481 the <see cref="P:System.Exception.Message"/> property to its default value.
4482 </param>
4483 </member>
4484 <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.String,System.Exception)">
4485 <summary>
4486 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class
4487 with the specified error message and exception that is the cause of the
4488 exception.
4489 </summary>
4490 <param name="message">
4491 A <see cref="T:System.String"/> containing a message that describes the
4492 <see cref="T:System.ComponentModel.Composition.CompositionException"/>; or <see langword="null"/> to set
4493 the <see cref="P:System.Exception.Message"/> property to its default value.
4494 </param>
4495 <param name="innerException">
4496 The <see cref="T:System.Exception"/> that is the underlying cause of the
4497 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>; or <see langword="null"/> to set
4498 the <see cref="P:System.Exception.InnerException"/> property to <see langword="null"/>.
4499 </param>
4500 </member>
4501 <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.Collections.Generic.IEnumerable{System.ComponentModel.Composition.CompositionError})">
4502 <summary>
4503 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class
4504 with the specified errors.
4505 </summary>
4506 <param name="errors">
4507 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.CompositionError"/> objects
4508 representing the errors that are the cause of the
4509 <see cref="T:System.ComponentModel.Composition.CompositionException"/>; or <see langword="null"/> to set the
4510 <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> property to an empty <see cref="T:System.Collections.Generic.IEnumerable`1"/>.
4511 </param>
4512 <exception cref="T:System.ArgumentException">
4513 <paramref name="errors"/> contains an element that is <see langword="null"/>.
4514 </exception>
4515 </member>
4516 <member name="M:System.ComponentModel.Composition.CompositionException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4517 <summary>
4518 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionException"/> class
4519 with the specified serialization data.
4520 </summary>
4521 <param name="info">
4522 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
4523 <see cref="T:System.ComponentModel.Composition.CompositionException"/>.
4524 </param>
4525 <param name="context">
4526 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
4527 source or destination.
4528 </param>
4529 <exception cref="T:System.ArgumentNullException">
4530 <paramref name="info"/> is <see langword="null"/>.
4531 </exception>
4532 <exception cref="T:System.Runtime.Serialization.SerializationException">
4533 <paramref name="info"/> is missing a required value.
4534 </exception>
4535 <exception cref="T:System.InvalidCastException">
4536 <paramref name="info"/> contains a value that cannot be cast to the correct type.
4537 </exception>
4538 </member>
4539 <member name="M:System.ComponentModel.Composition.CompositionException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4540 <summary>
4541 Gets the serialization data of the exception.
4542 </summary>
4543 <param name="info">
4544 The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the
4545 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartException"/>.
4546 </param>
4547 <param name="context">
4548 The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the
4549 source or destination.
4550 </param>
4551 <exception cref="T:System.ArgumentNullException">
4552 <paramref name="info"/> is <see langword="null"/>.
4553 </exception>
4554 </member>
4555 <member name="P:System.ComponentModel.Composition.CompositionException.Errors">
4556 <summary>
4557 Gets the errors that are the cause of the exception.
4558 </summary>
4559 <value>
4560 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.ComponentModel.Composition.CompositionError"/> objects
4561 representing the errors that are the cause of the
4562 <see cref="T:System.ComponentModel.Composition.CompositionException"/>.
4563 </value>
4564 </member>
4565 <member name="P:System.ComponentModel.Composition.CompositionException.Message">
4566 <summary>
4567 Gets a message that describes the exception.
4568 </summary>
4569 <value>
4570 A <see cref="T:System.String"/> containing a message that describes the
4571 <see cref="T:System.ComponentModel.Composition.CompositionException"/>.
4572 </value>
4573 </member>
4574 <member name="T:System.ComponentModel.Composition.CompositionOptionsAttribute">
4575 <summary>
4576 Specifies discovery and creation options for an attributed part.
4577 </summary>
4578 </member>
4579 <member name="M:System.ComponentModel.Composition.CompositionOptionsAttribute.#ctor">
4580 <summary>
4581 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.CompositionOptionsAttribute"/> class.
4582 </summary>
4583 </member>
4584 <member name="P:System.ComponentModel.Composition.CompositionOptionsAttribute.CreationPolicy">
4585 <summary>
4586 Gets or sets a value indicating the creation policy of the attributed part.
4587 </summary>
4588 <value>
4589 One of the <see cref="P:System.ComponentModel.Composition.CompositionOptionsAttribute.CreationPolicy"/> values indicating the creation policy of the
4590 attributed part. The default is
4591 <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/>.
4592 </value>
4593 </member>
4594 <member name="P:System.ComponentModel.Composition.CompositionOptionsAttribute.CatalogDiscoveryMode">
4595 <summary>
4596 Gets or sets a value indicating when an attributed part will be discovered.
4597 </summary>
4598 <value>
4599 One of the <see cref="P:System.ComponentModel.Composition.CompositionOptionsAttribute.CatalogDiscoveryMode"/> values indicating when the attributed part
4600 will be discovered by a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartCatalog"/>. The default is
4601 <see cref="F:System.ComponentModel.Composition.CatalogDiscoveryMode.Auto"/>.
4602 </value>
4603 </member>
4604 <member name="T:System.ComponentModel.Composition.CompositionServiceExtensions">
4605 <summary>
4606 Provides extension methods for the <see cref="T:System.ComponentModel.Composition.ICompositionService"/> interface.
4607 </summary>
4608 </member>
4609 <member name="M:System.ComponentModel.Composition.CompositionServiceExtensions.SatisfyImports(System.ComponentModel.Composition.ICompositionService,System.ComponentModel.Composition.Primitives.ComposablePart)">
4610 <summary>
4611 Satisfies the imports of the specified composable part.
4612 </summary>
4613 <param name="part">
4614 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports and register for recomposition.
4615 </param>
4616 <exception cref="T:System.ArgumentNullException">
4617 <paramref name="part"/> is <see langword="null"/>.
4618 </exception>
4619 <exception cref="T:System.ComponentModel.Composition.CompositionException">
4620 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
4621 contain a collection of errors that occurred.
4622 </exception>
4623 <exception cref="T:System.ObjectDisposedException">
4624 The <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> has been disposed of.
4625 </exception>
4626 </member>
4627 <member name="M:System.ComponentModel.Composition.CompositionServiceExtensions.SatisfyImports(System.ComponentModel.Composition.ICompositionService,System.Object,System.Boolean)">
4628 <summary>
4629 Satisfies the imports of the specified attributed composable part and registers it for
4630 recomposition if requested.
4631 </summary>
4632 <param name="part">
4633 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports and register for recomposition.
4634 </param>
4635 <param name="registerForRecomposition">
4636 Indicates whether the part will keep recomposing after the initial import satisfaction
4637 </param>
4638 <exception cref="T:System.ArgumentNullException">
4639 <paramref name="attributedPart"/> is <see langword="null"/>.
4640 </exception>
4641 <exception cref="T:System.ComponentModel.Composition.CompositionException">
4642 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
4643 contain a collection of errors that occurred.
4644 </exception>
4645 <exception cref="T:System.ObjectDisposedException">
4646 The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
4647 </exception>
4648 </member>
4649 <member name="M:System.ComponentModel.Composition.CompositionServiceExtensions.SatisfyImports(System.ComponentModel.Composition.ICompositionService,System.Object)">
4650 <summary>
4651 Satisfies the imports of the specified attributed composable part.
4652 </summary>
4653 <param name="part">
4654 The <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> to set the imports and register for recomposition.
4655 </param>
4656 <exception cref="T:System.ArgumentNullException">
4657 <paramref name="attributedPart"/> is <see langword="null"/>.
4658 </exception>
4659 <exception cref="T:System.ComponentModel.Composition.CompositionException">
4660 An error occurred during composition. <see cref="P:System.ComponentModel.Composition.CompositionException.Errors"/> will
4661 contain a collection of errors that occurred.
4662 </exception>
4663 <exception cref="T:System.ObjectDisposedException">
4664 The <see cref="T:System.ComponentModel.Composition.ICompositionService"/> has been disposed of.
4665 </exception>
4666 </member>
4667 <member name="T:System.ComponentModel.Composition.ContractTypeAttribute">
4668 <summary>
4669 Specifies that a class, interface or delegate is a contract type.
4670 </summary>
4671 </member>
4672 <member name="M:System.ComponentModel.Composition.ContractTypeAttribute.#ctor">
4673 <summary>
4674 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ContractTypeAttribute"/> class, using the
4675 default contract name.
4676 </summary>
4677 <remarks>
4678 <para>
4679 The default contract name is the result of calling
4680 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the type that is
4681 marked with this attribute.
4682 </para>
4683 <para>
4684 The contract name is compared using a case-sensitive, non-linguistic comparison
4685 using <see cref="P:System.StringComparer.Ordinal"/>.
4686 </para>
4687 </remarks>
4688 </member>
4689 <member name="M:System.ComponentModel.Composition.ContractTypeAttribute.#ctor(System.String)">
4690 <summary>
4691 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class with the
4692 specified contract name.
4693 </summary>
4694 <param name="contractName">
4695 A <see cref="T:System.String"/> containing the contract name of the type, or
4696 <see langword="null"/> or an empty string ("") to use the default contract name.
4697 </param>
4698 <remarks>
4699 <para>
4700 The default contract name is the result of calling
4701 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the type that is
4702 marked with this attribute.
4703 </para>
4704 <para>
4705 The contract name is compared using a case-sensitive, non-linguistic comparison
4706 using <see cref="P:System.StringComparer.Ordinal"/>.
4707 </para>
4708 </remarks>
4709 </member>
4710 <member name="P:System.ComponentModel.Composition.ContractTypeAttribute.ContractName">
4711 <summary>
4712 Gets the contract name of the contract type.
4713 </summary>
4714 <value>
4715 A <see cref="T:System.String"/> containing the contract name of the contract
4716 <see cref="T:System.Type"/>. The default value is an empty string ("").
4717 </value>
4718 </member>
4719 <member name="P:System.ComponentModel.Composition.ContractTypeAttribute.MetadataViewType">
4720 <summary>
4721 Gets the metadata view of the contract type.
4722 </summary>
4723 <value>
4724 A <see cref="T:System.Type"/> representing the metadata view of the contract
4725 <see cref="T:System.Type"/>. The default value is <see langword="null"/>.
4726 </value>
4727 </member>
4728 <member name="T:System.ComponentModel.Composition.CreationPolicy">
4729 <summary>
4730 Option placed on a type that controls when the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> creates
4731 a new instance of a <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/>.
4732 </summary>
4733 </member>
4734 <member name="F:System.ComponentModel.Composition.CreationPolicy.Any">
4735 <summary>
4736 Let the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> choose the most appropriate <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>
4737 for the part given the current context. This is the default <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>, with
4738 the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> choosing <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> by default
4739 unless the <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> or importer requests <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/>.
4740 </summary>
4741 </member>
4742 <member name="F:System.ComponentModel.Composition.CreationPolicy.Shared">
4743 <summary>
4744 A single shared instance of the associated <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> will be created
4745 by the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> and shared by all requestors.
4746 </summary>
4747 </member>
4748 <member name="F:System.ComponentModel.Composition.CreationPolicy.NonShared">
4749 <summary>
4750 A new non-shared instance of the associated <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePart"/> will be created
4751 by the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/> for every requestor.
4752 </summary>
4753 </member>
4754 <member name="T:System.ComponentModel.Composition.ExportAttribute">
4755 <summary>
4756 Specifies that a type, property, field, or method provides a particular export.
4757 </summary>
4758 </member>
4759 <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor">
4760 <summary>
4761 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
4762 type or member marked with this attribute under the default contract name.
4763 </summary>
4764 <remarks>
4765 <para>
4766 The default contract name is the result of calling
4767 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the type of the
4768 property or field, or the type itself, that is marked with this attribute.
4769 Methods must specify a contract name or type using either
4770 <see cref="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.Type)"/> or <see cref="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.String)"/>.
4771 </para>
4772 <para>
4773 The contract name is compared using a case-sensitive, non-linguistic comparison
4774 using <see cref="P:System.StringComparer.Ordinal"/>.
4775 </para>
4776 </remarks>
4777 </member>
4778 <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.Type)">
4779 <summary>
4780 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
4781 type or member marked with this attribute under a contract name derived from the
4782 specified type.
4783 </summary>
4784 <param name="contractType">
4785 A <see cref="T:System.Type"/> of which to derive the contract name to export the type or
4786 member marked with this attribute, under; or <see langword="null"/> to use the
4787 default contract name.
4788 </param>
4789 <remarks>
4790 <para>
4791 The contract name is the result of calling
4792 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on
4793 <paramref name="contractType"/>.
4794 </para>
4795 <para>
4796 The default contract name is the result of calling
4797 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the type of the
4798 property or field, or the type itself, that is marked with this attribute.
4799 Methods must specify a contract name or type using either
4800 <see cref="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.Type)"/> or <see cref="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.String)"/>.
4801 </para>
4802 <para>
4803 The contract name is compared using a case-sensitive, non-linguistic comparison
4804 using <see cref="P:System.StringComparer.Ordinal"/>.
4805 </para>
4806 </remarks>
4807 </member>
4808 <member name="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.String)">
4809 <summary>
4810 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/> class, exporting the
4811 type or member marked with this attribute under the specified contract name.
4812 </summary>
4813 <param name="contractName">
4814 A <see cref="T:System.String"/> containing the contract name to export the type or member
4815 marked with this attribute, under; or <see langword="null"/> or an empty string
4816 ("") to use the default contract name.
4817 </param>
4818 <remarks>
4819 <para>
4820 The default contract name is the result of calling
4821 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the property or field
4822 type, or the type itself that this is marked with this attribute. Methods must
4823 specify a contract name or type using either <see cref="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.Type)"/>
4824 or <see cref="M:System.ComponentModel.Composition.ExportAttribute.#ctor(System.String)"/>.
4825 </para>
4826 <para>
4827 The contract name is compared using a case-sensitive, non-linguistic comparison
4828 using <see cref="P:System.StringComparer.Ordinal"/>.
4829 </para>
4830 </remarks>
4831 </member>
4832 <member name="P:System.ComponentModel.Composition.ExportAttribute.ContractName">
4833 <summary>
4834 Gets the contract name to export the type or member under.
4835 </summary>
4836 <value>
4837 A <see cref="T:System.String"/> containing the contract name to export the type or member
4838 marked with this attribute, under. The default value is an empty string ("").
4839 </value>
4840 </member>
4841 <member name="T:System.ComponentModel.Composition.ExportMetadataAttribute">
4842 <summary>
4843 Specifies metadata for a type, property, field, or method marked with the
4844 <see cref="T:System.ComponentModel.Composition.ExportAttribute"/>.
4845 </summary>
4846 </member>
4847 <member name="M:System.ComponentModel.Composition.ExportMetadataAttribute.#ctor(System.String,System.Object)">
4848 <summary>
4849 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ExportMetadataAttribute"/> with the
4850 specified name and metadata value.
4851 </summary>
4852 <param name="name">
4853 A <see cref="T:System.String"/> containing the name of the metadata value; or
4854 <see langword="null"/> to set the <see cref="P:System.ComponentModel.Composition.ExportMetadataAttribute.Name"/> property to an empty
4855 string ("").
4856 </param>
4857 <param name="value">
4858 An <see cref="T:System.Object"/> containing the metadata value. This can be
4859 <see langword="null"/>.
4860 </param>
4861 </member>
4862 <member name="P:System.ComponentModel.Composition.ExportMetadataAttribute.Name">
4863 <summary>
4864 Gets the name of the metadata value.
4865 </summary>
4866 <value>
4867 A <see cref="T:System.String"/> containing the name of the metadata value.
4868 </value>
4869 </member>
4870 <member name="P:System.ComponentModel.Composition.ExportMetadataAttribute.Value">
4871 <summary>
4872 Gets the metadata value.
4873 </summary>
4874 <value>
4875 An <see cref="T:System.Object"/> containing the metadata value.
4876 </value>
4877 </member>
4878 <member name="T:System.ComponentModel.Composition.ImportAttribute">
4879 <summary>
4880 Specifies that a property, field, or parameter imports a particular export.
4881 </summary>
4882 </member>
4883 <member name="M:System.ComponentModel.Composition.ImportAttribute.#ctor">
4884 <summary>
4885 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class, importing the
4886 export with the default contract name.
4887 </summary>
4888 <remarks>
4889 <para>
4890 The default contract name is the result of calling
4891 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the property, field,
4892 or parameter type that this is marked with this attribute.
4893 </para>
4894 <para>
4895 The contract name is compared using a case-sensitive, non-linguistic comparison
4896 using <see cref="P:System.StringComparer.Ordinal"/>.
4897 </para>
4898 </remarks>
4899 </member>
4900 <member name="M:System.ComponentModel.Composition.ImportAttribute.#ctor(System.Type)">
4901 <summary>
4902 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class, importing the
4903 export with the contract name derived from the specified type.
4904 </summary>
4905 <param name="contractType">
4906 A <see cref="T:System.Type"/> of which to derive the contract name of the export to import, or
4907 <see langword="null"/> to use the default contract name.
4908 </param>
4909 <remarks>
4910 <para>
4911 The contract name is the result of calling
4912 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on
4913 <paramref name="contractType"/>.
4914 </para>
4915 <para>
4916 The default contract name is the result of calling
4917 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the property, field,
4918 or parameter type that is marked with this attribute.
4919 </para>
4920 <para>
4921 The contract name is compared using a case-sensitive, non-linguistic comparison
4922 using <see cref="P:System.StringComparer.Ordinal"/>.
4923 </para>
4924 </remarks>
4925 </member>
4926 <member name="M:System.ComponentModel.Composition.ImportAttribute.#ctor(System.String)">
4927 <summary>
4928 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.ImportAttribute"/> class, importing the
4929 export with the specified contract name.
4930 </summary>
4931 <param name="contractName">
4932 A <see cref="T:System.String"/> containing the contract name of the export to import, or
4933 <see langword="null"/> or an empty string ("") to use the default contract name.
4934 </param>
4935 <remarks>
4936 <para>
4937 The default contract name is the result of calling
4938 <see cref="M:System.ComponentModel.Composition.Hosting.CompositionServices.GetContractName(System.Type)"/> on the property, field,
4939 or parameter type that is marked with this attribute.
4940 </para>
4941 <para>
4942 The contract name is compared using a case-sensitive, non-linguistic comparison
4943 using <see cref="P:System.StringComparer.Ordinal"/>.
4944 </para>
4945 </remarks>
4946 </member>
4947 <member name="P:System.ComponentModel.Composition.ImportAttribute.ContractName">
4948 <summary>
4949 Gets the contract name of the export to import.
4950 </summary>
4951 <value>
4952 A <see cref="T:System.String"/> containing the contract name of the export to import. The
4953 default value is an empty string ("").
4954 </value>
4955 </member>
4956 <member name="P:System.ComponentModel.Composition.ImportAttribute.AllowDefault">
4957 <summary>
4958 Gets or sets a value indicating whether the property, field or parameter will be set
4959 to its type's default value when an export with the contract name is not present in
4960 the container.
4961 </summary>
4962 <value>
4963 <see langword="true"/> if the property, field or parameter will be set
4964 its type's default value when an export with the <see cref="P:System.ComponentModel.Composition.ImportAttribute.ContractName"/> is not
4965 present in the <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>; otherwise, <see langword="false"/>.
4966 The default value is <see langword="false"/>.
4967 </value>
4968 <remarks>
4969 <para>
4970 The default value of a property's, field's or parameter's type is
4971 <see langword="null"/> for reference types and 0 for numeric value types. For
4972 other value types, the default value will be each field of the value type
4973 initialized to zero, if the field is a value type or <see langword="null"/> if
4974 the field is a reference type.
4975 </para>
4976 </remarks>
4977 </member>
4978 <member name="P:System.ComponentModel.Composition.ImportAttribute.AllowRecomposition">
4979 <summary>
4980 Gets or sets a value indicating whether the property or field will be recomposed
4981 when exports that provide the same contract that this import expects, have changed
4982 in the container.
4983 </summary>
4984 <value>
4985 <see langword="true"/> if the property or field allows for recomposition when exports
4986 that provide the same <see cref="P:System.ComponentModel.Composition.ImportAttribute.ContractName"/> are added or removed from the
4987 <see cref="T:System.ComponentModel.Composition.Hosting.CompositionContainer"/>; otherwise, <see langword="false"/>.
4988 The default value is <see langword="false"/>.
4989 </value>
4990 </member>
4991 <member name="P:System.ComponentModel.Composition.ImportAttribute.RequiredCreationPolicy">
4992 <summary>
4993 Gets or sets a value indicating that the importer requires a specific
4994 <see cref="T:System.ComponentModel.Composition.CreationPolicy"/> for the exports used to satisfy this import. T
4995 </summary>
4996 <value>
4997 <see cref="F:System.ComponentModel.Composition.CreationPolicy.Any"/> - default value, used if the importer doesn't
4998 require a specific <see cref="T:System.ComponentModel.Composition.CreationPolicy"/>.
4999
5000 <see cref="F:System.ComponentModel.Composition.CreationPolicy.Shared"/> - Requires that all exports used should be shared
5001 by everyone in the container.
5002
5003 <see cref="F:System.ComponentModel.Composition.CreationPolicy.NonShared"/> - Requires that all exports used should be
5004 non-shared in a container and thus everyone gets their own instance.
5005 </value>
5006 </member>
5007 <member name="T:System.ComponentModel.Composition.MetadataAttributeAttribute">
5008 <summary>
5009 Specifies that an attribute can be used to provide metadata for a type, property, field,
5010 or method marked with the <see cref="T:System.ComponentModel.Composition.ExportAttribute"/>.
5011 </summary>
5012 </member>
5013 <member name="M:System.ComponentModel.Composition.MetadataAttributeAttribute.#ctor">
5014 <summary>
5015 Initializes a new instance of the <see cref="T:System.ComponentModel.Composition.MetadataAttributeAttribute"/> class.
5016 </summary>
5017 </member>
5018 <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)">
5019 <summary>
5020 Returns the export definitions that match the constraint defined by the specified definition.
5021 </summary>
5022 <param name="definition">
5023 The <see cref="T:System.ComponentModel.Composition.Primitives.ImportDefinition"/> that defines the conditions of the
5024 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects to return.
5025 </param>
5026 <returns>
5027 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.TempTuple`2"/> containing the
5028 <see cref="T:System.ComponentModel.Composition.Primitives.ExportDefinition"/> objects and their associated
5029 <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> for objects that match the constraint defined
5030 by <paramref name="definition"/>.
5031 </returns>
5032 <exception cref="T:System.ArgumentNullException">
5033 <paramref name="definition"/> is <see langword="null"/>.
5034 </exception>
5035 <exception cref="T:System.ObjectDisposedException">
5036 The <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/> has been disposed of.
5037 </exception>
5038 </member>
5039 <member name="M:System.ComponentModel.Composition.Hosting.DirectoryCatalog.ToString">
5040 <summary>
5041 Returns a string representation of the directory catalog.
5042 </summary>
5043 <returns>
5044 A <see cref="T:System.String"/> containing the string representation of the <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
5045 </returns>
5046 </member>
5047 <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Parts">
5048 <summary>
5049 Gets the part definitions of the directory catalog.
5050 </summary>
5051 <value>
5052 A <see cref="T:System.Linq.IQueryable`1"/> of <see cref="T:System.ComponentModel.Composition.Primitives.ComposablePartDefinition"/> objects of the
5053 <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
5054 </value>
5055 <exception cref="T:System.ObjectDisposedException">
5056 The <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/> has been disposed of.
5057 </exception>
5058 </member>
5059 <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#DisplayName">
5060 <summary>
5061 Gets the display name of the directory catalog.
5062 </summary>
5063 <value>
5064 A <see cref="T:System.String"/> containing a human-readable display name of the <see cref="T:System.ComponentModel.Composition.Hosting.DirectoryCatalog"/>.
5065 </value>
5066 </member>
5067 <member name="P:System.ComponentModel.Composition.Hosting.DirectoryCatalog.System#ComponentModel#Composition#Primitives#ICompositionElement#Origin">
5068 <summary>
5069 Gets the composition element from which the directory catalog originated.
5070 </summary>
5071 <value>
5072 This property always returns <see langword="null"/>.
5073 </value>
5074 </member>
5075 <member name="E:System.ComponentModel.Composition.Hosting.DirectoryCatalog.Changed">
5076 <summary>
5077 Notify when the contents of the Catalog has changed.
5078 </summary>
5079 </member>
5080 </members>
5081</doc>