Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / class / corlib / Documentation / en / System.Reflection / MemberInfo.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <Type Name="MemberInfo" FullName="System.Reflection.MemberInfo" FullNameSP="System_Reflection_MemberInfo" Maintainer="ecma">
3   <TypeSignature Language="ILASM" Value=".class public abstract serializable MemberInfo extends System.Object" />
4   <TypeSignature Language="C#" Value="public abstract class MemberInfo : System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._MemberInfo" />
5   <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract serializable beforefieldinit MemberInfo extends System.Object implements class System.Reflection.ICustomAttributeProvider, class System.Runtime.InteropServices._MemberInfo" />
6   <MemberOfLibrary>Reflection</MemberOfLibrary>
7   <AssemblyInfo>
8     <AssemblyName>mscorlib</AssemblyName>
9     <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
10     <AssemblyVersion>1.0.5000.0</AssemblyVersion>
11     <AssemblyVersion>2.0.0.0</AssemblyVersion>
12     <AssemblyVersion>4.0.0.0</AssemblyVersion>
13   </AssemblyInfo>
14   <ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
15   <Base>
16     <BaseTypeName>System.Object</BaseTypeName>
17   </Base>
18   <Interfaces>
19     <Interface>
20       <InterfaceName>System.Reflection.ICustomAttributeProvider</InterfaceName>
21     </Interface>
22     <Interface>
23       <InterfaceName>System.Runtime.InteropServices._MemberInfo</InterfaceName>
24     </Interface>
25   </Interfaces>
26   <Attributes>
27     <Attribute>
28       <AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)</AttributeName>
29     </Attribute>
30     <Attribute>
31       <AttributeName>System.Runtime.InteropServices.ComDefaultInterface(typeof(System.Runtime.InteropServices._MemberInfo))</AttributeName>
32     </Attribute>
33     <Attribute>
34       <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
35     </Attribute>
36   </Attributes>
37   <Docs>
38     <remarks>
39       <attribution license="cc4" from="Microsoft" modified="false" />
40       <para>The <see cref="T:System.Reflection.MemberInfo" /> class is the abstract base class for classes used to obtain information about all members of a class (constructors, events, fields, methods, and properties).</para>
41       <para>This class introduces the basic functionality that all members provide.</para>
42     </remarks>
43     <summary>
44       <attribution license="cc4" from="Microsoft" modified="false" />
45       <para>Obtains information about the attributes of a member and provides access to member metadata.</para>
46     </summary>
47   </Docs>
48   <Members>
49     <Member MemberName=".ctor">
50       <MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()" />
51       <MemberSignature Language="C#" Value="protected MemberInfo ();" />
52       <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
53       <MemberType>Constructor</MemberType>
54       <AssemblyInfo>
55         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
56         <AssemblyVersion>2.0.0.0</AssemblyVersion>
57         <AssemblyVersion>4.0.0.0</AssemblyVersion>
58       </AssemblyInfo>
59       <ReturnValue />
60       <Parameters />
61       <Docs>
62         <remarks>
63           <attribution license="cc4" from="Microsoft" modified="false" />
64           <para>Only a derived class can create this MemberInfo class.</para>
65         </remarks>
66         <summary>
67           <attribution license="cc4" from="Microsoft" modified="false" />
68           <para>Initializes a new instance of the <see cref="T:System.Reflection.MemberInfo" /> class.</para>
69         </summary>
70       </Docs>
71       <Excluded>0</Excluded>
72     </Member>
73     <Member MemberName="CustomAttributes">
74       <MemberSignature Language="C#" Value="public virtual System.Collections.Generic.IEnumerable&lt;System.Reflection.CustomAttributeData&gt; CustomAttributes { get; }" />
75       <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IEnumerable`1&lt;class System.Reflection.CustomAttributeData&gt; CustomAttributes" />
76       <MemberType>Property</MemberType>
77       <AssemblyInfo>
78         <AssemblyVersion>4.0.0.0</AssemblyVersion>
79       </AssemblyInfo>
80       <ReturnValue>
81         <ReturnType>System.Collections.Generic.IEnumerable&lt;System.Reflection.CustomAttributeData&gt;</ReturnType>
82       </ReturnValue>
83       <Docs>
84         <value>To be added.</value>
85         <remarks>To be added.</remarks>
86         <summary>
87           <attribution license="cc4" from="Microsoft" modified="false" />
88           <para>Gets a collection that contains this member's custom attributes.</para>
89         </summary>
90       </Docs>
91     </Member>
92     <Member MemberName="DeclaringType">
93       <MemberSignature Language="ILASM" Value=".property class System.Type DeclaringType { public hidebysig virtual abstract specialname class System.Type get_DeclaringType() }" />
94       <MemberSignature Language="C#" Value="public abstract Type DeclaringType { get; }" />
95       <MemberSignature Language="ILAsm" Value=".property instance class System.Type DeclaringType" />
96       <MemberType>Property</MemberType>
97       <AssemblyInfo>
98         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
99         <AssemblyVersion>2.0.0.0</AssemblyVersion>
100         <AssemblyVersion>4.0.0.0</AssemblyVersion>
101       </AssemblyInfo>
102       <ReturnValue>
103         <ReturnType>System.Type</ReturnType>
104       </ReturnValue>
105       <Parameters />
106       <Docs>
107         <value>
108           <para>The <see cref="T:System.Type" /><see langword=" " />object of the class that declares the member
109 reflected by the current instance; or, <see langword="null" /> if the
110 member reflected by the current instance is a global member.</para>
111         </value>
112         <example>
113           <para>The following example demonstrates the difference 
114       between the <see cref="P:System.Reflection.MemberInfo.DeclaringType" /><see langword=" " /> and
115    <see cref="P:System.Reflection.MemberInfo.ReflectedType" /> of a member.</para>
116           <code lang="C#">using System;
117 using System.Reflection;
118
119 public class BaseClass {
120    public void ReflectedMethod() {}
121 }
122
123 public class DerivedClass: BaseClass {}
124
125 public class DeclaringTypeExample {
126    public static void Main() {
127     Type t = typeof(DerivedClass);
128     MemberInfo [] memInfo = t.GetMember("ReflectedMethod");
129     Console.WriteLine("Reflected type is {0}.", memInfo[0].ReflectedType);
130     Console.WriteLine("Declaring type is {0}.", memInfo[0].DeclaringType);    
131    }
132 }
133    </code>
134           <para>The output is</para>
135           <c>
136             <para>Reflected type is DerivedClass.</para>
137             <para>Declaring type is BaseClass.</para>
138           </c>
139         </example>
140         <remarks>
141           <attribution license="cc4" from="Microsoft" modified="false" />
142           <para>The <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> property retrieves a reference to the <see cref="T:System.Type" /> object for the type that declares this member. A member of a type is either declared by the type or inherited from a base type, so the Type object returned by the <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> property might not be the same as the Type object used to obtain the current <see cref="T:System.Reflection.MemberInfo" /> object.</para>
143           <list type="bullet">
144             <item>
145               <para>If the Type object from which this MemberInfo object was obtained did not declare this member, the <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> property will represent one of its base types.</para>
146             </item>
147             <item>
148               <para>If the MemberInfo object is a global member (that is, if it was obtained from the <see cref="M:System.Reflection.Module.GetMethods" /> method, which returns global methods on a module), the returned <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> will be null.</para>
149             </item>
150           </list>
151         </remarks>
152         <summary>
153           <attribution license="cc4" from="Microsoft" modified="false" />
154           <para>Gets the class that declares this member.</para>
155         </summary>
156       </Docs>
157       <Excluded>0</Excluded>
158     </Member>
159     <Member MemberName="Equals">
160       <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
161       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
162       <MemberType>Method</MemberType>
163       <AssemblyInfo>
164         <AssemblyVersion>4.0.0.0</AssemblyVersion>
165       </AssemblyInfo>
166       <ReturnValue>
167         <ReturnType>System.Boolean</ReturnType>
168       </ReturnValue>
169       <Parameters>
170         <Parameter Name="obj" Type="System.Object" />
171       </Parameters>
172       <Docs>
173         <remarks>To be added.</remarks>
174         <summary>
175           <attribution license="cc4" from="Microsoft" modified="false" />
176           <para>Returns a value that indicates whether this instance is equal to a specified object.</para>
177         </summary>
178         <returns>
179           <attribution license="cc4" from="Microsoft" modified="false" />
180           <para>true if <paramref name="obj" /> equals the type and value of this instance; otherwise, false.</para>
181         </returns>
182         <param name="obj">
183           <attribution license="cc4" from="Microsoft" modified="false" />An object to compare with this instance, or null.</param>
184       </Docs>
185     </Member>
186     <Member MemberName="GetCustomAttributes">
187       <MemberSignature Language="C#" Value="public abstract object[] GetCustomAttributes (bool inherit);" />
188       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object[] GetCustomAttributes(bool inherit) cil managed" />
189       <MemberType>Method</MemberType>
190       <AssemblyInfo>
191         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
192         <AssemblyVersion>2.0.0.0</AssemblyVersion>
193         <AssemblyVersion>4.0.0.0</AssemblyVersion>
194       </AssemblyInfo>
195       <ReturnValue>
196         <ReturnType>System.Object[]</ReturnType>
197       </ReturnValue>
198       <Parameters>
199         <Parameter Name="inherit" Type="System.Boolean" />
200       </Parameters>
201       <Docs>
202         <remarks>
203           <attribution license="cc4" from="Microsoft" modified="false" />
204           <para>This method ignores the <paramref name="inherit" /> parameter for properties and events. To search the inheritance chain for attributes on properties and events, use the appropriate overloads of the <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.Assembly)" /> method. </para>
205           <block subset="none" type="note">
206             <para>   In the .NET Framework version 2.0, this method returns security attributes on methods, constructors, and types if they are stored in the new metadata format. Assemblies compiled with version 2.0 use this format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See <format type="text/html"><a href="9eeddee8-ca89-4440-b84b-fd613f590cd5">Emitting Declarative Security Attributes</a></format>.</para>
207           </block>
208         </remarks>
209         <summary>
210           <attribution license="cc4" from="Microsoft" modified="false" />
211           <para>When overridden in a derived class, returns an array of all custom attributes applied to this member. </para>
212         </summary>
213         <returns>
214           <attribution license="cc4" from="Microsoft" modified="false" />
215           <para>An array that contains all the custom attributes applied to this member, or an array with zero elements if no attributes are defined.</para>
216         </returns>
217         <param name="inherit">
218           <attribution license="cc4" from="Microsoft" modified="false" />true to search this member's inheritance chain to find the attributes; otherwise, false. This parameter is ignored for properties and events; see Remarks.</param>
219       </Docs>
220     </Member>
221     <Member MemberName="GetCustomAttributes">
222       <MemberSignature Language="C#" Value="public abstract object[] GetCustomAttributes (Type attributeType, bool inherit);" />
223       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object[] GetCustomAttributes(class System.Type attributeType, bool inherit) cil managed" />
224       <MemberType>Method</MemberType>
225       <AssemblyInfo>
226         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
227         <AssemblyVersion>2.0.0.0</AssemblyVersion>
228         <AssemblyVersion>4.0.0.0</AssemblyVersion>
229       </AssemblyInfo>
230       <ReturnValue>
231         <ReturnType>System.Object[]</ReturnType>
232       </ReturnValue>
233       <Parameters>
234         <Parameter Name="attributeType" Type="System.Type" />
235         <Parameter Name="inherit" Type="System.Boolean" />
236       </Parameters>
237       <Docs>
238         <remarks>
239           <attribution license="cc4" from="Microsoft" modified="false" />
240           <para>This method ignores the <paramref name="inherit" /> parameter for properties and events. To search the inheritance chain for attributes on properties and events, use the appropriate overloads of the <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.Assembly)" /> method. </para>
241           <block subset="none" type="note">
242             <para>In the .NET Framework version 2.0, this method returns security attributes on methods, constructors, and types if the attributes are stored in the new metadata format. Assemblies compiled with version 2.0 use this format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See <format type="text/html"><a href="9eeddee8-ca89-4440-b84b-fd613f590cd5">Emitting Declarative Security Attributes</a></format>.</para>
243           </block>
244         </remarks>
245         <summary>
246           <attribution license="cc4" from="Microsoft" modified="false" />
247           <para>When overridden in a derived class, returns an array of custom attributes applied to this member and identified by <see cref="T:System.Type" />.</para>
248         </summary>
249         <returns>
250           <attribution license="cc4" from="Microsoft" modified="false" />
251           <para>An array of custom attributes applied to this member, or an array with zero elements if no attributes assignable to <paramref name="attributeType" /> have been applied.</para>
252         </returns>
253         <param name="attributeType">
254           <attribution license="cc4" from="Microsoft" modified="false" />The type of attribute to search for. Only attributes that are assignable to this type are returned. </param>
255         <param name="inherit">
256           <attribution license="cc4" from="Microsoft" modified="false" />true to search this member's inheritance chain to find the attributes; otherwise, false. This parameter is ignored for properties and events; see Remarks. </param>
257       </Docs>
258     </Member>
259     <Member MemberName="GetCustomAttributesData">
260       <MemberSignature Language="C#" Value="public virtual System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt; GetCustomAttributesData ();" />
261       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IList`1&lt;class System.Reflection.CustomAttributeData&gt; GetCustomAttributesData() cil managed" />
262       <MemberType>Method</MemberType>
263       <AssemblyInfo>
264         <AssemblyVersion>4.0.0.0</AssemblyVersion>
265       </AssemblyInfo>
266       <ReturnValue>
267         <ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt;</ReturnType>
268       </ReturnValue>
269       <Parameters />
270       <Docs>
271         <remarks>
272           <attribution license="cc4" from="Microsoft" modified="false" />
273           <para>Use this method to examine the custom attributes of code in the reflection-only context, in cases where the custom attributes themselves are defined in code that is loaded into the reflection-only context. Methods like <see cref="Overload:System.Attribute.GetCustomAttributes" /> and <see cref="Overload:System.Reflection.MemberInfo.GetCustomAttributes" /> cannot be used in such cases, because they create instances of the attributes. Code in the reflection-only context cannot be executed. For more information and for example code, see the <see cref="T:System.Reflection.CustomAttributeData" /> class.</para>
274           <para>This method gets custom attribute data for types, nested types, and type members, because the <see cref="T:System.Type" /> class and the classes in the <see cref="N:System.Reflection" /> namespace that represent type members all derive from <see cref="T:System.Reflection.MemberInfo" />. </para>
275         </remarks>
276         <summary>
277           <attribution license="cc4" from="Microsoft" modified="false" />
278           <para>Returns a list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the target member.</para>
279         </summary>
280         <returns>
281           <attribution license="cc4" from="Microsoft" modified="false" />
282           <para>A generic list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the target member.</para>
283         </returns>
284       </Docs>
285     </Member>
286     <Member MemberName="GetHashCode">
287       <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
288       <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
289       <MemberType>Method</MemberType>
290       <AssemblyInfo>
291         <AssemblyVersion>4.0.0.0</AssemblyVersion>
292       </AssemblyInfo>
293       <ReturnValue>
294         <ReturnType>System.Int32</ReturnType>
295       </ReturnValue>
296       <Parameters />
297       <Docs>
298         <remarks>To be added.</remarks>
299         <summary>
300           <attribution license="cc4" from="Microsoft" modified="false" />
301           <para>Returns the hash code for this instance.</para>
302         </summary>
303         <returns>
304           <attribution license="cc4" from="Microsoft" modified="false" />
305           <para>A 32-bit signed integer hash code.</para>
306         </returns>
307       </Docs>
308     </Member>
309     <Member MemberName="GetType">
310       <MemberSignature Language="C#" Value="public Type GetType ();" />
311       <MemberType>Method</MemberType>
312       <ReturnValue>
313         <ReturnType>System.Type</ReturnType>
314       </ReturnValue>
315       <Parameters />
316       <Docs>
317         <returns>To be added.</returns>
318         <remarks>To be added.</remarks>
319         <summary>
320           <attribution license="cc4" from="Microsoft" modified="false" />
321           <para>Gets a <see cref="T:System.Type" /> object representing the type of the current instance. </para>
322         </summary>
323       </Docs>
324       <AssemblyInfo>
325         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
326       </AssemblyInfo>
327     </Member>
328     <Member MemberName="IsDefined">
329       <MemberSignature Language="C#" Value="public abstract bool IsDefined (Type attributeType, bool inherit);" />
330       <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsDefined(class System.Type attributeType, bool inherit) cil managed" />
331       <MemberType>Method</MemberType>
332       <AssemblyInfo>
333         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
334         <AssemblyVersion>2.0.0.0</AssemblyVersion>
335         <AssemblyVersion>4.0.0.0</AssemblyVersion>
336       </AssemblyInfo>
337       <ReturnValue>
338         <ReturnType>System.Boolean</ReturnType>
339       </ReturnValue>
340       <Parameters>
341         <Parameter Name="attributeType" Type="System.Type" />
342         <Parameter Name="inherit" Type="System.Boolean" />
343       </Parameters>
344       <Docs>
345         <remarks>
346           <attribution license="cc4" from="Microsoft" modified="false" />
347           <para>This method ignores the <paramref name="inherit" /> parameter for properties and events. To search the inheritance chain for attributes on properties and events, use the appropriate overloads of the <see cref="M:System.Attribute.IsDefined(System.Reflection.MemberInfo,System.Type,System.Boolean)" /> method. </para>
348           <block subset="none" type="note">
349             <para>In the .NET Framework version 2.0, this method returns true if a type, method, or constructor has security attributes stored in the new metadata format. Assemblies compiled with version 2.0 use this format. Dynamic assemblies and assemblies compiled with earlier versions of the .NET Framework use the old XML format. See <format type="text/html"><a href="9eeddee8-ca89-4440-b84b-fd613f590cd5">Emitting Declarative Security Attributes</a></format>.</para>
350           </block>
351         </remarks>
352         <summary>
353           <attribution license="cc4" from="Microsoft" modified="false" />
354           <para>When overridden in a derived class, indicates whether one or more attributes of the specified type or of its derived types is applied to this member.</para>
355         </summary>
356         <returns>
357           <attribution license="cc4" from="Microsoft" modified="false" />
358           <para>true if one or more instances of <paramref name="attributeType" /> or any of its derived types is applied to this member; otherwise, false.</para>
359         </returns>
360         <param name="attributeType">
361           <attribution license="cc4" from="Microsoft" modified="false" />The type of custom attribute to search for. The search includes derived types. </param>
362         <param name="inherit">
363           <attribution license="cc4" from="Microsoft" modified="false" />true to search this member's inheritance chain to find the attributes; otherwise, false. This parameter is ignored for properties and events; see Remarks.</param>
364       </Docs>
365     </Member>
366     <Member MemberName="MemberType">
367       <MemberSignature Language="C#" Value="public abstract System.Reflection.MemberTypes MemberType { get; }" />
368       <MemberSignature Language="ILAsm" Value=".property instance valuetype System.Reflection.MemberTypes MemberType" />
369       <MemberType>Property</MemberType>
370       <AssemblyInfo>
371         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
372         <AssemblyVersion>2.0.0.0</AssemblyVersion>
373         <AssemblyVersion>4.0.0.0</AssemblyVersion>
374       </AssemblyInfo>
375       <ReturnValue>
376         <ReturnType>System.Reflection.MemberTypes</ReturnType>
377       </ReturnValue>
378       <Docs>
379         <value>To be added.</value>
380         <remarks>
381           <attribution license="cc4" from="Microsoft" modified="false" />
382           <para>This property is overridden in derived classes, and the override returns the appropriate member type. Therefore, when you examine a set of <see cref="T:System.Reflection.MemberInfo" /> objects â€” for example, the array returned by <see cref="Overload:System.Type.GetMembers" /> â€” the <see cref="P:System.Reflection.MemberInfo.MemberType" /> property can be used to determine the member type of any given member.</para>
383           <para>To get the MemberType property, get the class <see cref="T:System.Type" />. From the Type, get the <see cref="T:System.Reflection.MethodInfo" /> array. From the MethodInfo array, get the MemberTypes.</para>
384         </remarks>
385         <summary>
386           <attribution license="cc4" from="Microsoft" modified="false" />
387           <para>When overridden in a derived class, gets a <see cref="T:System.Reflection.MemberTypes" /> value indicating the type of the member â€” method, constructor, event, and so on.</para>
388         </summary>
389       </Docs>
390     </Member>
391     <Member MemberName="MetadataToken">
392       <MemberSignature Language="C#" Value="public virtual int MetadataToken { get; }" />
393       <MemberSignature Language="ILAsm" Value=".property instance int32 MetadataToken" />
394       <MemberType>Property</MemberType>
395       <AssemblyInfo>
396         <AssemblyVersion>2.0.0.0</AssemblyVersion>
397         <AssemblyVersion>4.0.0.0</AssemblyVersion>
398       </AssemblyInfo>
399       <ReturnValue>
400         <ReturnType>System.Int32</ReturnType>
401       </ReturnValue>
402       <Docs>
403         <value>To be added.</value>
404         <since version=".NET 2.0" />
405         <remarks>
406           <attribution license="cc4" from="Microsoft" modified="false" />
407           <para>The tokens obtained using this property can be passed to the unmanaged reflection API. For more information, please see <format type="text/html"><a href="0c5bb9de-0cf6-438d-ba47-134e6c775fb8">The Unmanaged Reflection API</a></format>.</para>
408           <block subset="none" type="note">
409             <para>Using the unmanaged reflection API requires familiarity with the Common Language Infrastructure (CLI) documentation, especially "Partition II: Metadata Definition and Semantics" and "Partition III: CIL Instruction Set". The documentation is available online; see <see cref="http://go.microsoft.com/fwlink/?LinkID=99212">ECMA C# and Common Language Infrastructure Standards</see> on MSDN and <see cref="http://go.microsoft.com/fwlink/?LinkID=65552">Standard ECMA-335 - Common Language Infrastructure (CLI)</see> on the Ecma International Web site.</para>
410           </block>
411         </remarks>
412         <summary>
413           <attribution license="cc4" from="Microsoft" modified="false" />
414           <para>Gets a value that identifies a metadata element.</para>
415         </summary>
416       </Docs>
417     </Member>
418     <Member MemberName="Module">
419       <MemberSignature Language="C#" Value="public virtual System.Reflection.Module Module { get; }" />
420       <MemberSignature Language="ILAsm" Value=".property instance class System.Reflection.Module Module" />
421       <MemberType>Property</MemberType>
422       <AssemblyInfo>
423         <AssemblyVersion>2.0.0.0</AssemblyVersion>
424         <AssemblyVersion>4.0.0.0</AssemblyVersion>
425       </AssemblyInfo>
426       <ReturnValue>
427         <ReturnType>System.Reflection.Module</ReturnType>
428       </ReturnValue>
429       <Docs>
430         <value>To be added.</value>
431         <since version=".NET 2.0" />
432         <remarks>
433           <attribution license="cc4" from="Microsoft" modified="false" />
434           <para>This property is provided as a convenience. It is equivalent to using the <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> property to get the type in which the method is declared, and then calling the <see cref="P:System.Type.Module" /> property of the resulting <see cref="T:System.Type" /> object.</para>
435         </remarks>
436         <summary>
437           <attribution license="cc4" from="Microsoft" modified="false" />
438           <para>Gets the module in which the type that declares the member represented by the current <see cref="T:System.Reflection.MemberInfo" /> is defined.</para>
439         </summary>
440       </Docs>
441     </Member>
442     <Member MemberName="Name">
443       <MemberSignature Language="ILASM" Value=".property string Name { public hidebysig virtual abstract specialname string get_Name() }" />
444       <MemberSignature Language="C#" Value="public abstract string Name { get; }" />
445       <MemberSignature Language="ILAsm" Value=".property instance string Name" />
446       <MemberType>Property</MemberType>
447       <AssemblyInfo>
448         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
449         <AssemblyVersion>2.0.0.0</AssemblyVersion>
450         <AssemblyVersion>4.0.0.0</AssemblyVersion>
451       </AssemblyInfo>
452       <ReturnValue>
453         <ReturnType>System.String</ReturnType>
454       </ReturnValue>
455       <Parameters />
456       <Docs>
457         <value>
458           <para>A <see cref="T:System.String" /> containing the
459    name of the
460    member reflected by the current instance.</para>
461         </value>
462         <remarks>
463           <attribution license="cc4" from="Microsoft" modified="false" />
464           <para>Only the simple name of the member is returned, not the fully qualified name.</para>
465           <para>To get the <see cref="P:System.Reflection.MemberInfo.Name" /> property, get the class <see cref="T:System.Type" />. From the Type, get the <see cref="T:System.Reflection.MemberInfo" /> array. From a MemberInfo element of the array, obtain the Name property.</para>
466         </remarks>
467         <summary>
468           <attribution license="cc4" from="Microsoft" modified="false" />
469           <para>Gets the name of the current member.</para>
470         </summary>
471       </Docs>
472       <Excluded>0</Excluded>
473     </Member>
474     <Member MemberName="op_Equality">
475       <MemberSignature Language="C#" Value="public static bool op_Equality (System.Reflection.MemberInfo left, System.Reflection.MemberInfo right);" />
476       <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Equality(class System.Reflection.MemberInfo left, class System.Reflection.MemberInfo right) cil managed" />
477       <MemberType>Method</MemberType>
478       <AssemblyInfo>
479         <AssemblyVersion>4.0.0.0</AssemblyVersion>
480       </AssemblyInfo>
481       <ReturnValue>
482         <ReturnType>System.Boolean</ReturnType>
483       </ReturnValue>
484       <Parameters>
485         <Parameter Name="left" Type="System.Reflection.MemberInfo" />
486         <Parameter Name="right" Type="System.Reflection.MemberInfo" />
487       </Parameters>
488       <Docs>
489         <remarks>To be added.</remarks>
490         <summary>
491           <attribution license="cc4" from="Microsoft" modified="false" />
492           <para>Indicates whether two <see cref="T:System.Reflection.MemberInfo" /> objects are equal.</para>
493         </summary>
494         <returns>
495           <attribution license="cc4" from="Microsoft" modified="false" />
496           <para>true if <paramref name="left" /> is equal to <paramref name="right" />; otherwise false.</para>
497         </returns>
498         <param name="left">
499           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Reflection.MemberInfo" /> to compare to <paramref name="right" />.</param>
500         <param name="right">
501           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Reflection.MemberInfo" /> to compare to <paramref name="left" />.</param>
502       </Docs>
503     </Member>
504     <Member MemberName="op_Inequality">
505       <MemberSignature Language="C#" Value="public static bool op_Inequality (System.Reflection.MemberInfo left, System.Reflection.MemberInfo right);" />
506       <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Inequality(class System.Reflection.MemberInfo left, class System.Reflection.MemberInfo right) cil managed" />
507       <MemberType>Method</MemberType>
508       <AssemblyInfo>
509         <AssemblyVersion>4.0.0.0</AssemblyVersion>
510       </AssemblyInfo>
511       <ReturnValue>
512         <ReturnType>System.Boolean</ReturnType>
513       </ReturnValue>
514       <Parameters>
515         <Parameter Name="left" Type="System.Reflection.MemberInfo" />
516         <Parameter Name="right" Type="System.Reflection.MemberInfo" />
517       </Parameters>
518       <Docs>
519         <remarks>To be added.</remarks>
520         <summary>
521           <attribution license="cc4" from="Microsoft" modified="false" />
522           <para>Indicates whether two <see cref="T:System.Reflection.MemberInfo" /> objects are not equal.</para>
523         </summary>
524         <returns>
525           <attribution license="cc4" from="Microsoft" modified="false" />
526           <para>true if <paramref name="left" /> is not equal to <paramref name="right" />; otherwise false.</para>
527         </returns>
528         <param name="left">
529           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Reflection.MemberInfo" /> to compare to <paramref name="right" />.</param>
530         <param name="right">
531           <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Reflection.MemberInfo" /> to compare to <paramref name="left" />.</param>
532       </Docs>
533     </Member>
534     <Member MemberName="ReflectedType">
535       <MemberSignature Language="ILASM" Value=".property class System.Type ReflectedType { public hidebysig virtual abstract specialname class System.Type get_ReflectedType() }" />
536       <MemberSignature Language="C#" Value="public abstract Type ReflectedType { get; }" />
537       <MemberSignature Language="ILAsm" Value=".property instance class System.Type ReflectedType" />
538       <MemberType>Property</MemberType>
539       <AssemblyInfo>
540         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
541         <AssemblyVersion>2.0.0.0</AssemblyVersion>
542         <AssemblyVersion>4.0.0.0</AssemblyVersion>
543       </AssemblyInfo>
544       <ReturnValue>
545         <ReturnType>System.Type</ReturnType>
546       </ReturnValue>
547       <Parameters />
548       <Docs>
549         <value>
550           <para>The <see cref="T:System.Type" /><see langword="" />object for the class through which the current instance was
551 obtained.</para>
552         </value>
553         <remarks>
554           <attribution license="cc4" from="Microsoft" modified="false" />
555           <para>The ReflectedType property retrieves the <see cref="T:System.Type" /> object that was used to obtain this instance of MemberInfo. This may differ from the value of the <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> property if this <see cref="T:System.Reflection.MemberInfo" /> object represents a member that is inherited from a base class.</para>
556           <para>If the MemberInfo object is a global member (that is, if it was obtained from the <see cref="M:System.Reflection.Module.GetMethods" /> method, which returns global methods on a module), the returned <see cref="P:System.Reflection.MemberInfo.DeclaringType" /> will be null.</para>
557         </remarks>
558         <summary>
559           <attribution license="cc4" from="Microsoft" modified="false" />
560           <para>Gets the class object that was used to obtain this instance of MemberInfo.</para>
561         </summary>
562       </Docs>
563       <Excluded>0</Excluded>
564     </Member>
565     <Member MemberName="System.Runtime.InteropServices._MemberInfo.GetIDsOfNames">
566       <MemberSignature Language="C#" Value="void _MemberInfo.GetIDsOfNames (ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);" />
567       <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._MemberInfo.GetIDsOfNames(valuetype System.Guid riid, native int rgszNames, unsigned int32 cNames, unsigned int32 lcid, native int rgDispId) cil managed" />
568       <MemberType>Method</MemberType>
569       <AssemblyInfo>
570         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
571         <AssemblyVersion>2.0.0.0</AssemblyVersion>
572         <AssemblyVersion>4.0.0.0</AssemblyVersion>
573       </AssemblyInfo>
574       <ReturnValue>
575         <ReturnType>System.Void</ReturnType>
576       </ReturnValue>
577       <Parameters>
578         <Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" />
579         <Parameter Name="rgszNames" Type="System.IntPtr" />
580         <Parameter Name="cNames" Type="System.UInt32" />
581         <Parameter Name="lcid" Type="System.UInt32" />
582         <Parameter Name="rgDispId" Type="System.IntPtr" />
583       </Parameters>
584       <Docs>
585         <param name="riid">To be added.</param>
586         <param name="rgszNames">To be added.</param>
587         <param name="cNames">To be added.</param>
588         <param name="lcid">To be added.</param>
589         <param name="rgDispId">To be added.</param>
590         <summary>To be added.</summary>
591         <remarks>To be added.</remarks>
592       </Docs>
593     </Member>
594     <Member MemberName="System.Runtime.InteropServices._MemberInfo.GetType">
595       <MemberSignature Language="C#" Value="Type _MemberInfo.GetType ();" />
596       <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Type System.Runtime.InteropServices._MemberInfo.GetType() cil managed" />
597       <MemberType>Method</MemberType>
598       <AssemblyInfo>
599         <AssemblyVersion>4.0.0.0</AssemblyVersion>
600       </AssemblyInfo>
601       <ReturnValue>
602         <ReturnType>System.Type</ReturnType>
603       </ReturnValue>
604       <Parameters />
605       <Docs>
606         <remarks>To be added.</remarks>
607         <summary>
608           <attribution license="cc4" from="Microsoft" modified="false" />
609           <para>Gets a <see cref="T:System.Type" /> object representing the <see cref="T:System.Reflection.MemberInfo" /> class.</para>
610         </summary>
611         <returns>
612           <attribution license="cc4" from="Microsoft" modified="false" />
613           <para>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Reflection.MemberInfo" /> class.</para>
614         </returns>
615       </Docs>
616     </Member>
617     <Member MemberName="System.Runtime.InteropServices._MemberInfo.GetTypeInfo">
618       <MemberSignature Language="C#" Value="void _MemberInfo.GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);" />
619       <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._MemberInfo.GetTypeInfo(unsigned int32 iTInfo, unsigned int32 lcid, native int ppTInfo) cil managed" />
620       <MemberType>Method</MemberType>
621       <AssemblyInfo>
622         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
623         <AssemblyVersion>2.0.0.0</AssemblyVersion>
624         <AssemblyVersion>4.0.0.0</AssemblyVersion>
625       </AssemblyInfo>
626       <ReturnValue>
627         <ReturnType>System.Void</ReturnType>
628       </ReturnValue>
629       <Parameters>
630         <Parameter Name="iTInfo" Type="System.UInt32" />
631         <Parameter Name="lcid" Type="System.UInt32" />
632         <Parameter Name="ppTInfo" Type="System.IntPtr" />
633       </Parameters>
634       <Docs>
635         <remarks>
636           <attribution license="cc4" from="Microsoft" modified="false" />
637           <para>This method is for access to managed classes from unmanaged code, and should not be called from managed code. For more information about <unmanagedCodeEntityReference>IDispatch::GetTypeInfo</unmanagedCodeEntityReference>, see the MSDN Library.</para>
638         </remarks>
639         <summary>
640           <attribution license="cc4" from="Microsoft" modified="false" />
641           <para>Retrieves the type information for an object, which can then be used to get the type information for an interface.</para>
642         </summary>
643         <param name="iTInfo">
644           <attribution license="cc4" from="Microsoft" modified="false" />The type information to return.</param>
645         <param name="lcid">
646           <attribution license="cc4" from="Microsoft" modified="false" />The locale identifier for the type information.</param>
647         <param name="ppTInfo">
648           <attribution license="cc4" from="Microsoft" modified="false" />Receives a pointer to the requested type information object.</param>
649       </Docs>
650     </Member>
651     <Member MemberName="System.Runtime.InteropServices._MemberInfo.GetTypeInfoCount">
652       <MemberSignature Language="C#" Value="void _MemberInfo.GetTypeInfoCount (out uint pcTInfo);" />
653       <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._MemberInfo.GetTypeInfoCount(unsigned int32 pcTInfo) cil managed" />
654       <MemberType>Method</MemberType>
655       <AssemblyInfo>
656         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
657         <AssemblyVersion>2.0.0.0</AssemblyVersion>
658         <AssemblyVersion>4.0.0.0</AssemblyVersion>
659       </AssemblyInfo>
660       <ReturnValue>
661         <ReturnType>System.Void</ReturnType>
662       </ReturnValue>
663       <Parameters>
664         <Parameter Name="pcTInfo" Type="System.UInt32&amp;" RefType="out" />
665       </Parameters>
666       <Docs>
667         <param name="pcTInfo">To be added.</param>
668         <summary>To be added.</summary>
669         <remarks>To be added.</remarks>
670       </Docs>
671     </Member>
672     <Member MemberName="System.Runtime.InteropServices._MemberInfo.Invoke">
673       <MemberSignature Language="C#" Value="void _MemberInfo.Invoke (uint dispIdMember, ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);" />
674       <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._MemberInfo.Invoke(unsigned int32 dispIdMember, valuetype System.Guid riid, unsigned int32 lcid, int16 wFlags, native int pDispParams, native int pVarResult, native int pExcepInfo, native int puArgErr) cil managed" />
675       <MemberType>Method</MemberType>
676       <AssemblyInfo>
677         <AssemblyVersion>1.0.5000.0</AssemblyVersion>
678         <AssemblyVersion>2.0.0.0</AssemblyVersion>
679         <AssemblyVersion>4.0.0.0</AssemblyVersion>
680       </AssemblyInfo>
681       <ReturnValue>
682         <ReturnType>System.Void</ReturnType>
683       </ReturnValue>
684       <Parameters>
685         <Parameter Name="dispIdMember" Type="System.UInt32" />
686         <Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" />
687         <Parameter Name="lcid" Type="System.UInt32" />
688         <Parameter Name="wFlags" Type="System.Int16" />
689         <Parameter Name="pDispParams" Type="System.IntPtr" />
690         <Parameter Name="pVarResult" Type="System.IntPtr" />
691         <Parameter Name="pExcepInfo" Type="System.IntPtr" />
692         <Parameter Name="puArgErr" Type="System.IntPtr" />
693       </Parameters>
694       <Docs>
695         <param name="dispIdMember">To be added.</param>
696         <param name="riid">To be added.</param>
697         <param name="lcid">To be added.</param>
698         <param name="wFlags">To be added.</param>
699         <param name="pDispParams">To be added.</param>
700         <param name="pVarResult">To be added.</param>
701         <param name="pExcepInfo">To be added.</param>
702         <param name="puArgErr">To be added.</param>
703         <summary>To be added.</summary>
704         <remarks>To be added.</remarks>
705       </Docs>
706     </Member>
707   </Members>
708   <TypeExcluded>0</TypeExcluded>
709 </Type>