[mcs] Validate more nameof argument expressions
[mono.git] / mcs / class / System.ComponentModel.Composition / Documentation / en / System.ComponentModel.Composition / ExportFactory`1.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <Type Name="ExportFactory&lt;T&gt;" FullName="System.ComponentModel.Composition.ExportFactory&lt;T&gt;">
3   <TypeSignature Language="C#" Value="public class ExportFactory&lt;T&gt;" />
4   <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ExportFactory`1&lt;T&gt; extends System.Object" />
5   <AssemblyInfo>
6     <AssemblyName>System.ComponentModel.Composition</AssemblyName>
7     <AssemblyVersion>4.0.0.0</AssemblyVersion>
8   </AssemblyInfo>
9   <TypeParameters>
10     <TypeParameter Name="T" />
11   </TypeParameters>
12   <Base>
13     <BaseTypeName>System.Object</BaseTypeName>
14   </Base>
15   <Interfaces />
16   <Docs>
17     <typeparam name="T">To be added.</typeparam>
18     <remarks>
19       <attribution license="cc4" from="Microsoft" modified="false" />
20       <para>When you refer indirectly to a part by using a <see cref="T:System.Lazy`1" /> object, the <see cref="P:System.Lazy`1.Value" /> property always returns a reference to the same object. In some circumstances, you might want each reference to result in the creation of a new object. <see cref="T:System.ComponentModel.Composition.ExportFactory`1" /> is designed for those scenarios.</para>
21       <para>
22         <see cref="T:System.ComponentModel.Composition.ExportFactory`1" /> can be used in a similar fashion to <see cref="T:System.Lazy`1" /> when creating attributed parts. That is, an import contract that is defined on <see cref="T:System.ComponentModel.Composition.ExportFactory`1" /> with a generic parameter of <paramref name="T" /> will match an export that is defined on <paramref name="T" />. For example, the follow export and import match:</para>
23       <code>[Export]
24 public String myData = "Example Data.";
25
26 [Import]
27 public ExportFactory&lt;String&gt; theData { get; set; }</code>
28       <code>&lt;Export()&gt;
29 Public myData As String = "Example Data."
30
31 &lt;Import()&gt;
32 Public Property theData As ExportFactory(Of String)</code>
33       <para>The <see cref="M:System.ComponentModel.Composition.ExportFactory`1.CreateExport" /> method returns an <see cref="T:System.ComponentModel.Composition.ExportLifetimeContext`1" /> object, which has two pieces. The <see cref="P:System.ComponentModel.Composition.ExportLifetimeContext`1.Value" /> property provides access to the created part. Calling the <see cref="M:System.ComponentModel.Composition.ExportLifetimeContext`1.Dispose" /> method of the <see cref="T:System.ComponentModel.Composition.ExportLifetimeContext`1" /> object cleans up the created part and all of its dependencies, thereby allowing the part's lifetime to be managed without reference to the container that created it.</para>
34     </remarks>
35     <summary>
36       <attribution license="cc4" from="Microsoft" modified="false" />
37       <para>A factory that creates new instances of a part that provides the specified export.</para>
38     </summary>
39   </Docs>
40   <Members>
41     <Member MemberName=".ctor">
42       <MemberSignature Language="C#" Value="public ExportFactory (Func&lt;Tuple&lt;T,Action&gt;&gt; exportLifetimeContextCreator);" />
43       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Func`1&lt;class System.Tuple`2&lt;!T, class System.Action&gt;&gt; exportLifetimeContextCreator) cil managed" />
44       <MemberType>Constructor</MemberType>
45       <AssemblyInfo>
46         <AssemblyVersion>4.0.0.0</AssemblyVersion>
47       </AssemblyInfo>
48       <Parameters>
49         <Parameter Name="exportLifetimeContextCreator" Type="System.Func&lt;System.Tuple&lt;T,System.Action&gt;&gt;" />
50       </Parameters>
51       <Docs>
52         <param name="exportLifetimeContextCreator">To be added.</param>
53         <summary>To be added.</summary>
54         <remarks>To be added.</remarks>
55       </Docs>
56     </Member>
57     <Member MemberName="CreateExport">
58       <MemberSignature Language="C#" Value="public System.ComponentModel.Composition.ExportLifetimeContext&lt;T&gt; CreateExport ();" />
59       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.ComponentModel.Composition.ExportLifetimeContext`1&lt;!T&gt; CreateExport() cil managed" />
60       <MemberType>Method</MemberType>
61       <AssemblyInfo>
62         <AssemblyVersion>4.0.0.0</AssemblyVersion>
63       </AssemblyInfo>
64       <ReturnValue>
65         <ReturnType>System.ComponentModel.Composition.ExportLifetimeContext&lt;T&gt;</ReturnType>
66       </ReturnValue>
67       <Parameters />
68       <Docs>
69         <remarks>To be added.</remarks>
70         <summary>
71           <attribution license="cc4" from="Microsoft" modified="false" />
72           <para>Creates an instance of the factory's export type.</para>
73         </summary>
74         <returns>
75           <attribution license="cc4" from="Microsoft" modified="false" />
76           <para>A valid instance of the factory's exported type.</para>
77         </returns>
78       </Docs>
79     </Member>
80     <Member MemberName="OnFilterScopedCatalog">
81       <MemberSignature Language="C#" Value="protected virtual bool OnFilterScopedCatalog (System.ComponentModel.Composition.Primitives.ComposablePartDefinition composablePartDefinition);" />
82       <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance bool OnFilterScopedCatalog(class System.ComponentModel.Composition.Primitives.ComposablePartDefinition composablePartDefinition) cil managed" />
83       <MemberType>Method</MemberType>
84       <AssemblyInfo>
85         <AssemblyVersion>4.0.0.0</AssemblyVersion>
86       </AssemblyInfo>
87       <ReturnValue>
88         <ReturnType>System.Boolean</ReturnType>
89       </ReturnValue>
90       <Parameters>
91         <Parameter Name="composablePartDefinition" Type="System.ComponentModel.Composition.Primitives.ComposablePartDefinition" />
92       </Parameters>
93       <Docs>
94         <remarks>To be added.</remarks>
95         <summary>
96           <attribution license="cc4" from="Microsoft" modified="false" />
97           <para>When overridden in a derived class, filters part definitions in the scope of the <see cref="T:System.ComponentModel.Composition.ExportFactory`1" /> object.</para>
98         </summary>
99         <returns>
100           <attribution license="cc4" from="Microsoft" modified="false" />
101           <para>true if the part definition should be included in the scope; otherwise, false.</para>
102         </returns>
103         <param name="composablePartDefinition">
104           <attribution license="cc4" from="Microsoft" modified="false" />The part definition to filter.</param>
105       </Docs>
106     </Member>
107   </Members>
108 </Type>