[Mono-list] Help needed with XSLT transformations
(documentation browser)
Scott Bronson
bronson@rinspin.com
12 Oct 2002 04:46:13 -0700
--=-XAUNgAovMeMFgTAa+vou
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Here is a very, very, VERY basic start. Don't expect much. It's a
super quick demo that shows a little of what's possible.
If you tell me more about what you want to end up with, I can fill this
in. Especially, if you tell me how you want to store the files, I can
modify it to generate the correct links.
My XSLT is somewhat green so suggestions are appreciated.
- Scott
On Thu, 2002-10-10 at 19:15, Miguel de Icaza wrote:
> Hello guys,
>
> I was going to do this manually, but the more code I wrote, the more
> I realized that this is the kind of thing that should really be done
> with Xslt. But I do not know Xslt, nor "better practices" with Xslt,
> and I fear that this will have a fair amount of duplication.
>
> I have attached the ECMA documentation for Type.xml, the idea of
> what I want to achieve is to process the XML document and extract a
> number of things from it:
>
> * The type page, something like:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtypeclasstopic.asp
>
> * The methods page, something like:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemTypeMethodsTopic.asp
>
> * The fields page, something like:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemTypeFieldsTopic.asp
>
> * The properties page, something like:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemTypePropertiesTopic.asp
>
> Then the tricky ones, given a member (field, property, method,
> constructor, operator, do not worry about matching the method signature
> correctly, we will figure that out later), render the page with the
> data.
>
> This is a sample for the property:
>
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtypeclassassemblytopic.asp
>
> Can someone help?
>
> Miguel.
>
>
> ----
>
> <Type Name="Type" FullName="System.Type" FullNameSP="System_Type">
> <TypeSignature Language="ILASM" Value=".class public abstract serializable Type extends System.Object" />
> <TypeSignature Language="C#" Value="public abstract class Type : Object" />
> <MemberOfLibrary>BCL</MemberOfLibrary>
> <AssemblyInfo>
> <AssemblyName>mscorlib</AssemblyName>
> <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
> <AssemblyVersion>1.0.x.x</AssemblyVersion>
> <AssemblyCulture>none</AssemblyCulture>
> <Attributes>
> <Attribute>
> <AttributeName>CLSCompliantAttribute(true)</AttributeName>
> <Excluded>0</Excluded>
> </Attribute>
> </Attributes>
> </AssemblyInfo>
> <ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
> <Docs>
> <summary>
> <para>Provides information about a type.</para>
> </summary>
> <remarks>
> <para> The <see cref="T:System.Type" /> class is abstract, as is the <see cref="T:System.Reflection.MemberInfo" />
> class and its subclasses <see cref="T:System.Reflection.FieldInfo" />, <see cref="T:System.Reflection.PropertyInfo" />, <see cref="T:System.Reflection.MethodBase" />,
> and <see cref="T:System.Reflection.EventInfo" />. <see cref="T:System.Reflection.ConstructorInfo" /> and <see cref="T:System.Reflection.MethodInfo" />
> are subclasses of <see cref="T:System.Reflection.MethodBase" />. The runtime
> provides non-public implementations of these classes. <block subset="none" type="note"> For example, <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> is typed
> as returning a <see cref="T:System.Reflection.MethodInfo" /> object. The
> returned object is actually an instance of the non-public runtime type that
> implements <see cref="T:System.Reflection.MethodInfo" /> .</block></para>
> <para>A conforming CLI program which is written to run on only the Kernel profile
> cannot subclass <see cref="T:System.Type" />. <block subset="none" type="note"> This only applies
> to conforming programs not conforming implementations.</block></para>
> <para> A <see cref="T:System.Type" /> object that represents a type is unique; that is, two
> <see cref="T:System.Type" /> object
> references refer to the same object if and only if they represent the same type.
> This allows for comparison of <see cref="T:System.Type" />
> objects using reference
> equality.</para>
> <block subset="none" type="note">
> <para> An instance of <see cref="T:System.Type" />
> can represent any one of the following
> types:</para>
> <list type="bullet">
> <item>
> <term>
>
> Classes</term>
> </item>
> <item>
> <term>
>
> Value types</term>
> </item>
> <item>
> <term>
>
> Arrays</term>
> </item>
> <item>
> <term>
>
> Interfaces</term>
> </item>
> <item>
> <term>
>
> Pointers</term>
> </item>
> <item>
> <term>
>
> Enumerations</term>
> </item>
> </list>
> <para>The following table shows what members of a base class are returned by the
> methods that return members of types, such as <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> and
> <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" />.</para>
> <para>
> <list type="table">
> <listheader>
> <term>Member Type</term>
> <description>Static</description>
> <description>Non-Static</description>
> </listheader>
> <item>
> <term> Constructor</term>
> <description>No</description>
> <description>No</description>
> </item>
> <item>
> <term> Field</term>
> <description>No</description>
> <description>Yes. A field is always
> hide-by-name-and-signature.</description>
> </item>
> <item>
> <term> Event</term>
> <description>Not applicable</description>
> <description> The common type system rule is
> that the inheritance of an event is the same as that of
> the accessors that implement the event.
> Reflection treats events as hide-by-name-and-signature.</description>
> </item>
> <item>
> <term> Method</term>
> <description>No</description>
> <description>Yes. A method (both virtual and non-virtual)
> can be hide-by-name or hide-by-name-and-signature.</description>
> </item>
> <item>
> <term> Nested Type</term>
> <description>No</description>
> <description>No</description>
> </item>
> <item>
> <term> Property</term>
> <description>Not applicable</description>
> <description> The common type system
> rule is that the inheritance is the same as that of the
> accessors that implement the property. Reflection treats
> properties as hide-by-name-and-signature.</description>
> </item>
> </list>
> </para>
> <para>For reflection, properties and events are hide-by-name-and-signature. If a
> property has both a get and a set accessor in the base class, but the derived
> class has only a get accessor, the derived class property hides the base class
> property, and the setter on the base class will not be accessible. </para>
> </block>
> </remarks>
> </Docs>
> <Base>
> <BaseTypeName>System.Object</BaseTypeName>
> <ExcludedBaseTypeName>System.Reflection.MemberInfo</ExcludedBaseTypeName>
> <ExcludedLibraryName>Reflection</ExcludedLibraryName>
> </Base>
> <Interfaces />
> <Attributes />
> <Members>
> <Member MemberName="Missing">
> <MemberSignature Language="ILASM" Value=".field public static initOnly object Missing" />
> <MemberSignature Language="C#" Value="public static readonly object Missing;" />
> <MemberType>Field</MemberType>
> <ReturnValue>
> <ReturnType>System.Object</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Represents a missing value in the <see cref="T:System.Type" /> information.</para>
> </summary>
> <remarks>
> <para>This field is read-only.</para>
> <para>Use the <see langword="Missing" />
> field for invocation through reflection to ensure that a call will be made
> with the default value of a parameter as specified in the metadata. <block subset="none" type="note">If the <see langword="Missing" /> field is specified for a
> parameter value and there is no default value for that parameter, a <see cref="T:System.ArgumentException" /> is
> thrown.</block></para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="Delimiter">
> <MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.Char Delimiter" />
> <MemberSignature Language="C#" Value="public static readonly char Delimiter;" />
> <MemberType>Field</MemberType>
> <ReturnValue>
> <ReturnType>System.Char</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Specifies the character that separates elements in the fully qualified name
> of a <see cref="T:System.Type" />
> .</para>
> </summary>
> <remarks>
> <para>This field is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="EmptyTypes">
> <MemberSignature Language="ILASM" Value=".field public static initOnly class System.Type[] EmptyTypes" />
> <MemberSignature Language="C#" Value="public static readonly Type[] EmptyTypes;" />
> <MemberType>Field</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Returns an empty array of type <see cref="T:System.Type" /> .</para>
> </summary>
> <remarks>
> <para>This field is read-only.</para>
> <para>The empty <see cref="T:System.Type" /> array returned by this field is used to specify that
> lookup methods in the <see cref="T:System.Type" /> class, such as <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> and <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" />,
> search for members that do not take parameters. <block subset="none" type="note">For example, to locate the public instance constructor that takes no
> parameters, invoke <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> (<see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />, <see langword="null" />, <see cref="F:System.Type.EmptyTypes" />,
> <see langword="null" />).</block></para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="InvokeMember">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract object InvokeMember(string name, valuetype System.Reflection.BindingFlags invokeAttr, class System.Reflection.Binder binder, object target, class System.Object[] args, class System.Reflection.ParameterModifier[] modifiers, class System.Globalization.CultureInfo culture, class System.String[] namedParameters)" />
> <MemberSignature Language="C#" Value="public abstract object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Object</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="invokeAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="target" Type="System.Object" />
> <Parameter Name="args" Type="System.Object[]" />
> <Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" />
> <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
> <Parameter Name="namedParameters" Type="System.String[]" />
> </Parameters>
> <Docs>
> <summary>
> <para> Invokes or
> accesses a member defined on the type represented by the current instance
> that matches the specified binding criteria.</para>
> </summary>
> <param name="name">
> <para>A <see cref="T:System.String" /> containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify <see cref="F:System.String.Empty" /> to invoke that member. <block subset="none" type="note">For more information on default members, see <see cref="T:System.Reflection.DefaultMemberAttribute" /> .</block></para>
> </param>
> <param name="invokeAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, <see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> is used by default.<SPAN /></para>
> </param>
> <param name="target">A <see cref="T:System.Object" /> on which to invoke the member that matches the other specified criteria. If the matching member is <see langword="static" /> , this parameter is ignored.</param>
> <param name="args">An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound if and only if <paramref name="nameParameters" /> is <see langword="null" />. If <paramref name="namedParameters" /> is not <see langword="null" />, the order of the elements in <paramref name="args" /> corresponds to the order of the parameters specified in <paramref name="namedParameters" />. Specify an empty array or <see langword="null" /> for a member that takes no parameters.</param>
> <param name="modifiers">
> <para>The only defined value for this parameter is <see langword="null" /> .</para>
> </param>
> <param name="culture">
> <para>The only defined value for this parameter is <see langword="null" /> .</para>
> </param>
> <param name="namedParameters">An array of <see cref="T:System.String" /> objects containing the names of the parameters to which the values in <paramref name="args" /> are passed. These names are processed in a case-sensitive manner and have a one-to-one correspondence with the elements of <paramref name="args" />. Specify an empty array or <see langword="null" /> for a member that takes no parameters. Specify <see langword="null" /> to have this parameter ignored.</param>
> <returns>
> <para>A <see cref="T:System.Object" />
> containing the return value of the invoked or accessed member. If the member
> does not have a return value, returns a <see cref="T:System.Object" /> containing <see cref="T:System.Void" /> .</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="args" /> has more than one dimension.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> is not a valid <see cref="T:System.Reflection.BindingFlags" /> value.</para>
> <para>-or-</para>
> <para>The member to be invoked is a constructor and <see cref="F:System.Reflection.BindingFlags.CreateInstance" /> is not specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be invoked is a method that is not a type initializer or instance constructor, and <see cref="F:System.Reflection.BindingFlags.InvokeMethod" /> is not specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be accessed is a field, and neither <see cref="F:System.Reflection.BindingFlags.GetField" /> nor <see cref="F:System.Reflection.BindingFlags.SetField" /> is specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be accessed is a property, and neither <see cref="F:System.Reflection.BindingFlags.GetProperty" /> nor <see cref="F:System.Reflection.BindingFlags.SetProperty" /> is specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.CreateInstance" /> and at least one of <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, <see cref="F:System.Reflection.BindingFlags.GetField" />, <see cref="F:System.Reflection.BindingFlags.SetField" />, <see cref="F:System.Reflection.BindingFlags.GetProperty" />, or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains both <see cref="F:System.Reflection.BindingFlags.GetField" /> and <see cref="F:System.Reflection.BindingFlags.SetField" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains both <see cref="F:System.Reflection.BindingFlags.GetProperty" /> and <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.InvokeMethod" /> and at least one of <see cref="F:System.Reflection.BindingFlags.SetField" /> or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.SetField" /> and <paramref name="args" /> has more than one element.</para>
> <para>-or-</para>
> <para>
> <paramref name="namedParameters" />.Length > <paramref name="args" />.Length .</para>
> <para>-or-</para>
> <para>At least one element in <paramref name="namedParameters" /> is <see langword="null" />.</para>
> <para>-or-</para>
> <para>At least one element in <paramref name="args" /> is not assignment-compatible with the corresponding parameter in <paramref name="namedParameters" />.</para>
> </exception>
> <exception cref="T:System.MissingFieldException">A field or property matching the specified criteria was not found.</exception>
> <exception cref="T:System.MissingMethodException">A method matching the specified criteria cannot be found.</exception>
> <exception cref="T:System.MethodAccessException">The requested member is non-public and the caller does not have the required permission.</exception>
> <exception cref="T:System.Reflection.TargetException">The member matching the specified criteria cannot be invoked on <paramref name="target" />.</exception>
> <exception cref="T:System.Reflection.TargetInvocationException">The member matching the specified criteria threw an exception.</exception>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one member matches the specified criteria.</exception>
> <remarks>
> <para>
> <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> calls a constructor or a method , gets or sets a property , gets or sets a field, or gets or sets an element of an array.</para>
> <para> The binder finds all of the matching members. These
> members are found based upon the type of binding specified by <paramref name="InvokeAttr" /> . The <see cref="M:System.Reflection.Binder.BindToMethod(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Object[]@,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],System.Object@)" qualify="true" /> is
> responsible for selecting the method to be invoked. The default binder selects
> the most specific match. The set of members is then filtered by name, number of
> arguments, and a set of search modifiers defined in the binder. After the member is selected, it is invoked or accessed.
> Accessibility is checked at that point. Access restrictions are ignored for fully trusted code; that is, private constructors, methods, fields, and properties can be accessed and invoked via reflection whenever the code is fully trusted.</para>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <block subset="none" type="behaviors">
> <para>Each parameter in the <paramref name="namedParameters" /> array is assigned the value in the
> corresponding element in the <paramref name="args" /> array. If the length of <paramref name="args" /> is
> greater than the length of <paramref name="namedParameters" />, the remaining argument values
> are passed in order.</para>
> <para>A member will be found only
> if the number of parameters in the member declaration equals the number of
> arguments in the args array (unless default arguments are defined on the
> member). Also, The type of each argument is required to be convertible by
> the binder to the type
> of the parameter. </para>
> <para>It is required that the caller specify values for <paramref name="bindingAttr" /> as
> follows:</para>
> <para>
> <list type="table">
> <listheader>
> <term>Action</term>
> <description>BindingFlags</description>
> </listheader>
> <item>
> <term> Invoke a constructor. </term>
> <description>
> <see cref="F:System.Reflection.BindingFlags.CreateInstance" />. This
> flag is not valid with the other flags in this table. If this flag is
> specified, <paramref name="name" /> is ignored. </description>
> </item>
> <item>
> <term> Invoke a method. </term>
> <description>
> <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />. This
> flag if not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance" />, <see cref="F:System.Reflection.BindingFlags.SetField" />, or <see cref="F:System.Reflection.BindingFlags.SetProperty" />. </description>
> </item>
> <item>
> <term> Define a field value. </term>
> <description>
> <see cref="F:System.Reflection.BindingFlags.SetField" />. This
> flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance" />, <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, or <see cref="F:System.Reflection.BindingFlags.GetField" />.</description>
> </item>
> <item>
> <term> Return a field value. </term>
> <description>
> <see cref="F:System.Reflection.BindingFlags.GetField" />. This
> flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance" />, <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, or <see cref="F:System.Reflection.BindingFlags.SetField" />.</description>
> </item>
> <item>
> <term> Set a property. </term>
> <description>
> <see cref="F:System.Reflection.BindingFlags.SetProperty" />. This
> flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance" />, <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, or <see cref="F:System.Reflection.BindingFlags.GetProperty" />.</description>
> </item>
> <item>
> <term> Get a property.</term>
> <description>
> <see cref="F:System.Reflection.BindingFlags.GetProperty" />. This
> flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance" />, <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</description>
> </item>
> </list>
> </para>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" /> .</block>
> </para>
> </block>
> <block subset="none" type="usage">
> <para>
> <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> can be used to invoke methods with
> parameters that have default values. To bind to these methods, <see cref="F:System.Reflection.BindingFlags.OptionalParamBinding" /> must be specified. For a parameter that has a
> default value, the caller can supply a value or supply <see cref="F:System.Type.Missing" />
>
> to use the default value.</para>
> <para>
> <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> can be used to set a field to a
> particular value by specifying <see cref="F:System.Reflection.BindingFlags.SetField" /> . For example, to set a public instance field named F on class C, where F is a string, the value is set using the following statement:</para>
> <para>
> <c>typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{
> "strings new value"}, null, null, null);</c>
> </para>
> <para> A string array F can be initialized as follows:</para>
> <c>
> <para>typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{new
> String[]{"a","z","c","d"}, null, null, null);</para>
> </c>
> <para> Use <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> to set the value of an element in an array by specifying the index of the value and the new value for the element as follows:</para>
> <para>
> <c>typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{1,
> "b"}, null, null, null);</c>
> </para>
> <para>The preceding statement changes "z" in array
> F to "b". </para>
> </block>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> <example>
> <para>The following example demonstrates the use of <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> to
> construct a <see cref="T:System.String" />, obtain its <see cref="P:System.String.Length" /> property, invoke <see cref="M:System.String.Insert(System.Int32,System.String)" /> on it, and
> then set its value using the <see cref="F:System.String.Empty" /> field.</para>
> <code lang="C#">using System;
> using System.Reflection;
>
> class InvokeMemberExample
> {
> static void Main(string[] args)
> {
> // Create the parameter arrays that will
> // be passed to InvokeMember.
> char[] cAry =
> new char[] {'A',' ','s','t','r','i','n','g'};
> object[] oAry = new object[] {cAry, 0, cAry.Length};
>
> Type t = typeof(string);
>
> // Invoke the constructor of a string.
> string str =
> (string)t.InvokeMember(null, BindingFlags.Instance |
> BindingFlags.Public | BindingFlags.CreateInstance, null,
> null, oAry, null, null, null);
> Console.WriteLine("The string is \"{0}\".", str);
>
> // Access a property of the string.
> int i =
> (int) t.InvokeMember("Length", BindingFlags.Instance |
> BindingFlags.Public | BindingFlags.GetProperty, null,
> str, null, null, null, null);
> Console.WriteLine("The length of the string is {0}.", i);
>
> // Invoke a method on the string.
> string newStr = "new ";
> object[] oAry2 = new Object[] {2, newStr};
> str = (string) t.InvokeMember("Insert", BindingFlags.Instance |
> BindingFlags.Public | BindingFlags.InvokeMethod, null, str,
> oAry2, null, null, null);
> Console.WriteLine("The modified string is \"{0}\".", str);
>
> // Access a field of the string.
> str = (string) t.InvokeMember("Empty", BindingFlags.Static |
> BindingFlags.Public | BindingFlags.GetField, null, str,
> null);
> Console.WriteLine("The empty string is \"{0}\".", str);
>
> }
> }
> </code>
> <para>The output is </para>
> <c>
> <para>The string is "A string". </para>
> <para>The length of the string is 8. </para>
> <para> The modified string is "A new string"</para>
> <para>The empty string is "". </para>
> </c>
> </example>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMembers">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.MemberInfo[] GetMembers(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract MemberInfo[] GetMembers(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MemberInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the members that are
> defined in the type represented by the current instance and match the specified
> binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the members
> defined in the type represented by the current instance that match the
> constraints of <paramref name="bindingAttr" /> . If no members match these constraints,
> returns an empty array. If the type represented by the current instance is from
> a loaded assembly and the caller does not have sufficient permission to reflect
> on non-public objects in loaded assemblies, returns only public members.</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMember">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Reflection.MemberInfo[] GetMember(string name, valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public virtual MemberInfo[] GetMember(string name, BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MemberInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the members defined in
> the type represented by the current instance that have the specified name
> and match the specified binding constraints.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the member to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the members
> named <paramref name="name" />, are defined in the type represented by the current instance
> and match the constraints of <paramref name="bindingAttr" /> .
> If no members match these constraints, returns an empty array.
> If the selected member is non-public, the type reflected by the current instance is from a
> loaded assembly and the caller does not have sufficient permission to reflect on
> non-public objects in loaded assemblies, returns <see langword="null" /> .</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperties">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.PropertyInfo[] GetProperties(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract PropertyInfo[] GetProperties(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.PropertyInfo" /> objects that reflect the properties
> defined for the type represented by the current instance that match the specified
> binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.PropertyInfo" /> objects that reflect the properties
> defined in the type represented by the current instance and match the
> constraints of <paramref name="bindingAttr" /> . If no matching properties are found,
> returns an empty array. If the type represented by the current instance is from
> a loaded assembly and the caller does not have permission to reflect on
> non-public objects in loaded assemblies, returns only public properties.</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">A property is considered by
> reflection to be <see langword="public" /> if it has at least one accessor that is
> <see langword="public" /> . Otherwise, the property is not
> <see langword="public" />.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperty">
> <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.PropertyInfo GetProperty(string name, valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type returnType, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)" />
> <MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="returnType" Type="System.Type" />
> <Parameter Name="types" Type="System.Type[]" />
> <Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.PropertyInfo" /> object that reflects the property
> defined in the type represented by the current instance that matches the specified search
> criteria .</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the property to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <param name="binder">
> <para>A <see cref="T:System.Reflection.Binder" /> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null" /> to use the <see cref="P:System.Type.DefaultBinder" /> .</para>
> </param>
> <param name=" returnType">A <see cref="T:System.Type" /> object that represents the type of the property to be returned.</param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes" /> to obtain a property that is not indexed.</para>
> </param>
> <param name="modifiers">The only defined value for this parameter is <see langword="null" /> .</param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" /> object
> reflecting the property that is defined in the type represented by the
> current instance and matches the specified criteria. If no matching property is
> found, returns <see langword="null" /> . If the type reflected by the current
> instance is contained in a loaded assembly, the property that matches the
> specified criteria is not public, and the caller does not have sufficient
> permission, returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />, or at least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <paramref name="bindingAttr" />, <paramref name="binder" />,
> <paramref name="returnType" />, <paramref name="types" />, <paramref name="modifiers" />).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para> Different programming languages use different syntax to
> specify indexed properties. Internally, this property is referred to by the name
> "Item" in the metadata. Therefore, any attempt to retrieve an indexed property
> using reflection is required to specify this internal
> name in order for the <see langword="PropertyInfo" /> to be returned correctly.</para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperty">
> <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.PropertyInfo GetProperty(string name, valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.PropertyInfo" /> object that reflects the property defined
> in the type represented by the current instance that matches the specified search
> criteria.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the property to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" />
> object reflecting the property defined in the type represented by
> the current instance that matches the specified criteria. If no matching property is
> found, returns <see langword="null" /> . If the type reflected by the current
> instance is contained in a loaded assembly, the property that matches the
> specified criteria is not public, and the caller does not have sufficient
> permission, returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> is <see langword="null" />.</para>
> </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <paramref name="bindingAttr" />,
> <see langword="null" />, <see langword="null" />, <see langword="null" />,
> <see langword="null" />).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetFields">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.FieldInfo[] GetFields(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract FieldInfo[] GetFields(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.FieldInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.FieldInfo" /> objects that reflect the fields that are
> defined in the type represented by the current instance and match the specified
> binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.FieldInfo" /> objects that reflect the fields that are
> defined in the type represented by the current instance and match the
> constraints of <paramref name="bindingAttr" /> . If no fields match
> these constraints, returns an empty array. If the type represented by the
> current instance is from a loaded assembly and the caller does not have
> sufficient permission to reflect on non-public objects in loaded assemblies,
> returns only public fields.</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> fields to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" /> in
> order to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public fields in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public fields
> (that is, private and protected fields) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the fields
> declared in the type, not fields that were simply inherited.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of a type in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetField">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.FieldInfo GetField(string name, valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract FieldInfo GetField(string name, BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.FieldInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.FieldInfo" /> object reflecting the field that has the
> specified name, is defined in the type represented by the current instance, and
> matches the specified binding constraints.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the field to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.FieldInfo" /> object reflecting the field that is named
> <paramref name="name" />, is defined in the type represented by the current instance, and
> matches the constraints of <paramref name="bindingAttr" />. If a field matching these criteria
> cannot be found, returns <see langword="null" />. If the field is not public, the current type is
> from a loaded assembly, and the caller does not have sufficient permission,
> returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> fields to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public fields in
> the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public fields
> (that is, private and protected fields) in the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to
> include static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the fields
> declared in the type, not fields that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethods">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.MethodInfo[] GetMethods(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract MethodInfo[] GetMethods(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.MethodInfo" /> objects that reflect the methods defined in the type
> represented by the current instance that match the specified binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MethodInfo" /> objects reflecting the methods defined in the type
> represented by the current instance that match the constraints of
> <paramref name="bindingAttr" /> . If no such methods found, returns an
> empty array. If the type represented by the current instance is from a loaded
> assembly and the caller does not have permission to reflect on non-public
> objects in loaded assemblies, returns only public methods.</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethod">
> <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.MethodInfo GetMethod(string name, valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.MethodInfo" /> object that reflects the method that has the
> specified name and is defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the method to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.MethodInfo" /> object
> that reflects the method that is defined
> in the type represented by the current instance and matches the specified
> criteria, if found; otherwise, <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />.</exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <paramref name="bindingAttr" /> ,
> <see langword="null" />, <see langword="null" />, <see langword="null" />).</para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethod">
> <MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.MethodInfo GetMethod(string name, valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)" />
> <MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="types" Type="System.Type[]" />
> <Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.MethodInfo" /> object that reflects the method that matches the
> specified criteria and is defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the method to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <param name="binder">
> <para>A <see cref="T:System.Reflection.Binder" /> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null" /> to use the <see cref="P:System.Type.DefaultBinder" /> .</para>
> </param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.</para>
> </param>
> <param name="modifiers">The only defined value for this parameter is <see langword="null" /> .</param>
> <returns>
> <para>A <see cref="T:System.Reflection.MethodInfo" /> object that reflects
> the method defined in the type represented by the current instance that
> matches the specified criteria. If no method matching the specified criteria is found, returns
> <see langword="null" /> . If the
> selected method is non-public, the type reflected by
> the current instance is from a loaded assembly, and the caller
> does not have permission to reflect on non-public objects in loaded assemblies,
> returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />.</para>
> <para>-or-</para>
> <para>At least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsAssignableFrom">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsAssignableFrom(class System.Type c)" />
> <MemberSignature Language="C#" Value="public virtual bool IsAssignableFrom(Type c);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="c" Type="System.Type" />
> </Parameters>
> <Docs>
> <summary>
> <para> Determines whether an instance of the current <see cref="T:System.Type" /> can be assigned
> from an instance of the specified <see cref="T:System.Type" /> .
> </para>
> </summary>
> <param name="c">The <see cref="T:System.Type" /> to compare with the current <see cref="T:System.Type" /> . </param>
> <returns>
> <para>
> <see langword="false" /> if <paramref name="c" /> is a null reference.</para>
> <para>
> <see langword="true" /> if one or more of the following
> statements are true; otherwise <see langword="false" />. </para>
> <list type="bullet">
> <item>
> <term>
>
> If <paramref name="c" /> and the current <see cref="T:System.Type" /> represent the same type.</term>
> </item>
> <item>
> <term>
>
> If the current <see cref="T:System.Type" /> is in the inheritance hierarchy of <paramref name="c" />.</term>
> </item>
> <item>
> <term>
>
> If the current <see cref="T:System.Type" /> is an interface and <paramref name="c" /> supports that
> interface.</term>
> </item>
> </list>
> <see langword="" />
> </returns>
> <example>
> <para>The following example demonstrates the <see cref="M:System.Type.IsAssignableFrom(System.Type)" />
> method using arrays.</para>
> <code lang="C#">using System;
> class ArrayTypeTest {
> public static void Main() {
> int i = 1;
> int [] array10 = new int [10];
> int [] array2 = new int[2];
> int [,]array22 = new int[2,2];
> int [,]array24 = new int[2,4];
> int [,,]array333 = new int[3,3,3];
> Type array10Type = array10.GetType();
> Type array2Type = array2.GetType();
> Type array22Type = array22.GetType();
> Type array24Type = array24.GetType();
> Type array333Type = array333.GetType();
>
> // If X and Y are not both arrays, then false
> Console.WriteLine("int[2] is assignable from int? {0} ", array2Type.IsAssignableFrom(i.GetType()));
> // If X and Y have same type and rank, then true.
> Console.WriteLine("int[2] is assignable from int[10]? {0} ", array2Type.IsAssignableFrom(array10Type));
> Console.WriteLine("int[2,2] is assignable from int[2,4]? {0}", array22Type.IsAssignableFrom(array24Type));
> Console.WriteLine("int[2,4] is assignable from int[2,2]? {0}", array24Type.IsAssignableFrom(array22Type));
> Console.WriteLine("");
> // If X and Y do not have the same rank, then false.
> Console.WriteLine("int[2,2] is assignable from int[10]? {0}", array22Type.IsAssignableFrom(array10Type));
> Console.WriteLine("int[2,2] is assignable from int[3,3,3]? {0}", array22Type.IsAssignableFrom(array333Type));
> Console.WriteLine("int[3,3,3] is assignable from int[2,2]? {0}", array333Type.IsAssignableFrom(array22Type));
> }
> }
> </code>
> <para>The output is</para>
> <c>
> <para>int[2] is assignable from int? False</para>
> <para>int[2] is assignable from int[10]? True</para>
> <para>int[2,2] is assignable from int[2,4]? True</para>
> <para>int[2,4] is assignable from int[2,2]? True</para>
> <para>int[2,2] is assignable from int[10]? False</para>
> <para>int[2,2] is assignable from int[3,3,3]? False</para>
> <para>int[3,3,3] is assignable from int[2,2]? False</para>
> </c>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsInstanceOfType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsInstanceOfType(object o)" />
> <MemberSignature Language="C#" Value="public virtual bool IsInstanceOfType(object o);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="o" Type="System.Object" />
> </Parameters>
> <Docs>
> <summary>
> <para> Determines whether the specified object is an instance
> of the current <see cref="T:System.Type" />.
> </para>
> </summary>
> <param name="o">The object to compare with the current <see cref="T:System.Type" />. </param>
> <returns>
> <para>
> <see langword="true" /> if either of the following
> statements is true; otherwise <see langword="false" />.
> </para>
> <list type="bullet">
> <item>
> <term>
>
> If the current <see cref="T:System.Type" /> is in the inheritance hierarchy of <paramref name="o" />.</term>
> </item>
> <item>
> <term>
>
> If the current <see cref="T:System.Type" /> is an interface and <paramref name="o" /> supports that
> interface.</term>
> </item>
> </list>
> <para>If <paramref name="o" /> is a null reference, returns <see langword="false" />.</para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <example>
> <para>The following example demonstrates the <see cref="M:System.Type.IsInstanceOfType(System.Object)" />
> method.</para>
> <code lang="C#">using System;
> public interface IFoo { }
> public class MyClass : IFoo {}
> public class MyDerivedClass : MyClass {}
> class IsInstanceTest {
> public static void Main() {
> Type ifooType=typeof(IFoo);
> MyClass mc = new MyClass();
> Type mcType = mc.GetType();
> MyClass mdc = new MyDerivedClass();
> Type mdcType = mdc.GetType();
> int [] array = new int [10];
> Type arrayType = typeof(Array);
> Console.WriteLine("int[] is instance of Array? {0}", arrayType.IsInstanceOfType(array));
> Console.WriteLine("myclass instance is instance of MyClass? {0}", mcType.IsInstanceOfType(mc));
> Console.WriteLine("myderivedclass instance is instance of MyClass? {0}", mcType.IsInstanceOfType(mdc));
> Console.WriteLine("myclass instance is instance of IFoo? {0}", ifooType.IsInstanceOfType(mc));
> Console.WriteLine("myderivedclass instance is instance of IFoo? {0}", ifooType.IsInstanceOfType(mdc));
> }
> }
> </code>
> <para>The output is </para>
> <c>
> <para>int[] is instance of Array? True</para>
> <para>myclass instance is instance of MyClass? True</para>
> <para>myderivedclass instance is instance of MyClass? True</para>
> <para>myclass instance is instance of IFoo? True</para>
> <para>myderivedclass instance is instance of IFoo? True</para>
> </c>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsSubclassOf">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubclassOf(class System.Type c)" />
> <MemberSignature Language="C#" Value="public virtual bool IsSubclassOf(Type c);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="c" Type="System.Type" />
> </Parameters>
> <Docs>
> <summary>
> <para>Determines whether the current <see cref="T:System.Type" /> derives from the
> specified <see cref="T:System.Type" /> .</para>
> </summary>
> <param name="c">The <see cref="T:System.Type" /> to compare with the current <see cref="T:System.Type" />.</param>
> <returns>
> <para>
> <see langword="true" /> if <paramref name="c" /> and the current
> <see cref="T:System.Type" /> represent
> classes, and the class represented by the current <see cref="T:System.Type" /> derives from the class represented by
> <paramref name="c" />; otherwise <see langword="false" />. Returns <see langword="false" /> if
> <paramref name="c" /> and the current <see cref="T:System.Type" /> represent the same class.</para>
> </returns>
> <example>
> <para>The following example demonstrates the <see cref="M:System.Type.IsSubclassOf(System.Type)" />
> method.</para>
> <code lang="C#">using System;
> public interface IFoo { }
> public interface IBar:IFoo{}
> public class MyClass : IFoo {}
> public class MyDerivedClass : MyClass {}
> class IsSubclassTest {
> public static void Main() {
> Type ifooType = typeof(IFoo);
> Type ibarType = typeof(IBar);
> MyClass mc = new MyClass();
> Type mcType = mc.GetType();
> MyClass mdc = new MyDerivedClass();
> Type mdcType = mdc.GetType();
> int [] array = new int [10];
> Type arrayOfIntsType = array.GetType();
> Type arrayType = typeof(Array);
>
> Console.WriteLine("Array is subclass of int[]? {0}", arrayType.IsSubclassOf(arrayOfIntsType));
> Console.WriteLine("int [] is subclass of Array? {0}", arrayOfIntsType.IsSubclassOf(arrayType));
> Console.WriteLine("IFoo is subclass of IBar? {0}", ifooType.IsSubclassOf(ibarType));
> Console.WriteLine("myclass is subclass of MyClass? {0}", mcType.IsSubclassOf(mcType));
> Console.WriteLine("myderivedclass is subclass of MyClass? {0}", mdcType.IsSubclassOf(mcType));
> }
> }
> </code>
> <para>The output is </para>
> <c>
> <para>Array is subclass of int[]? False</para>
> <para>int [] is subclass of Array? True</para>
> <para>IFoo is subclass of IBar? False</para>
> <para>myclass is subclass of MyClass? False</para>
> <para>myderivedclass is subclass of MyClass? True</para>
> </c>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="HasElementTypeImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool HasElementTypeImpl()" />
> <MemberSignature Language="C#" Value="protected abstract bool HasElementTypeImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>When overridden in a derived class, implements the <see cref="P:System.Type.HasElementType" /> property and
> determines whether the current <see cref="T:System.Type" /> encompasses or
> refers to another type; that is,
> whether the current <see cref="T:System.Type" /> is an array, a pointer, or is passed by
> reference.</para>
> </summary>
> <returns>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is an array, a pointer, or is passed by reference; otherwise, <see langword="false" />. </para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="note">For example,
> <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" /> ("System.Int32[]").HasElementTypeImpl returns
> <see langword="true" />, but <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" /> ("System.Int32").HasElementTypeImpl returns
> <see langword="false" />. <see cref="M:System.Type.HasElementTypeImpl" /> also returns <see langword="true" /> for "System.Int32*" and "System.Int32&".</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetElementType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type GetElementType()" />
> <MemberSignature Language="C#" Value="public abstract Type GetElementType();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns the element type of the current <see cref="T:System.Type" />
> .</para>
> </summary>
> <returns>
> <para>A <see cref="T:System.Type" /> that represents
> the type used to create the current instance if the current
> instance represents an array, pointer, or an argument
> passed by reference. Otherwise, returns <see langword="null" />
> .</para>
> </returns>
> <example>
> <para>The following example demonstrates the <see cref="M:System.Type.GetElementType" />
> method.</para>
> <code lang="C#">using System;
> class TestType {
> public static void Main() {
> int[] array = {1,2,3};
> Type t = array.GetType();
> Type t2 = t.GetElementType();
> Console.WriteLine("{0} element type is {1}",array, t2.ToString());
>
> TestType newMe = new TestType();
> t = newMe.GetType();
> t2 = t.GetElementType();
> Console.WriteLine("{0} element type is {1}", newMe, t2==null? "null" : t2.ToString());
> }
> }
> </code>
> <para>The output is</para>
> <c>
> <para>System.Int32[] element type is System.Int32</para>
> <para>TestType element type is null</para>
> </c>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsCOMObjectImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsCOMObjectImpl()" />
> <MemberSignature Language="C#" Value="protected abstract bool IsCOMObjectImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Reserved.</para>
> </summary>
> <returns>
> <para>
> <see langword="false" />
> </para>
> </returns>
> <remarks>
> <para>This abstract method is required to be present for
> legacy implementations. Conforming implementations are permitted to throw the
> <see cref="T:System.NotSupportedException" />
> as their implementation.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsPrimitiveImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsPrimitiveImpl()" />
> <MemberSignature Language="C#" Value="protected abstract bool IsPrimitiveImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>When overridden in a derived class, implements the <see cref="P:System.Type.IsPrimitive" /> property and determines whether the
> <see cref="T:System.Type" /> is one of the primitive types.</para>
> </summary>
> <returns>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is one of the primitive types; otherwise, <see langword="false" />. </para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="behaviors">This method
> returns <see langword="true" /> if the underlying type of the current instance is
> one of the following: <see cref="T:System.Boolean" />, <see cref="T:System.Byte" />, <see cref="T:System.SByte" />, <see cref="T:System.Int16" />, <see cref="T:System.UInt16" />, <see cref="T:System.Int32" />, <see cref="T:System.UInt32" />, <see cref="T:System.Int64" />, <see cref="T:System.UInt64" />, <see cref="T:System.Char" />, <see cref="T:System.Double" />, and <see cref="T:System.Single" />.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsPointerImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsPointerImpl()" />
> <MemberSignature Language="C#" Value="protected abstract bool IsPointerImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>When overridden in a derived class, implements the <see cref="P:System.Type.IsPointer" /> property and determines whether the
> <see cref="T:System.Type" /> is a pointer.</para>
> </summary>
> <returns>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is a pointer; otherwise, <see langword="false" />. </para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsByRefImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsByRefImpl()" />
> <MemberSignature Language="C#" Value="protected abstract bool IsByRefImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>When overridden in a derived class, implements the <see cref="P:System.Type.IsByRef" />
> property and determines whether the <see cref="T:System.Type" /> is passed by reference.</para>
> </summary>
> <returns>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is passed by reference; otherwise, <see langword="false" />. </para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsArrayImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsArrayImpl()" />
> <MemberSignature Language="C#" Value="protected abstract bool IsArrayImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>When overridden in a derived class implements the <see cref="P:System.Type.IsArray" /> property returning a
> <see cref="T:System.Boolean" /> value that indicates whether
> the type represented by the current instance is an array.</para>
> </summary>
> <returns>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is an array; otherwise, <see langword="false" />. </para>
> </returns>
> <remarks>
> <para>An instance of the <see cref="T:System.Array" /> class is required to return <see langword="false" /> because it is an object, not an
> array.<block subset="none" type="behaviors">As described above.</block></para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetAttributeFlagsImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract valuetype System.Reflection.TypeAttributes GetAttributeFlagsImpl()" />
> <MemberSignature Language="C#" Value="protected abstract TypeAttributes GetAttributeFlagsImpl();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.TypeAttributes</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>When overridden in a derived type implements the <see cref="P:System.Type.Attributes" />
> property and returns the attributes specified for the type represented by the current instance.</para>
> </summary>
> <returns>
> <para>A <see cref="T:System.Reflection.TypeAttributes" /> value that signifies the attributes of the
> type represented by the current instance.</para>
> </returns>
> <remarks>
> <block subset="none" type="behaviors">
> <para>This property is read-only.</para>
> <para>This method returns a <see cref="T:System.Reflection.TypeAttributes" /> value that indicates the attributes set in
> the metadata of the type represented by the current
> instance.</para>
> </block>
> <para>
> <block subset="none" type="usage">Use this property to determine the
> visibility, semantics, and layout format of the type represented by the
> current. Also use this property to determine if the type represented by
> the current instance has a special name.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetDefaultMembers">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Reflection.MemberInfo[] GetDefaultMembers()" />
> <MemberSignature Language="C#" Value="public virtual MemberInfo[] GetDefaultMembers();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MemberInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the default members
> defined in the type represented by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MemberInfo" /> objects reflecting the default members of the
> type represented by the current instance. If the type represented by the current
> instance does not have any default members, returns an empty array.</para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="behaviors">The members returned
> by this method have the <see cref="T:System.Reflection.DefaultMemberAttribute" />
> attribute.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetNestedType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type GetNestedType(string name, valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract Type GetNestedType(string name, BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para> Returns a nested types defined in the type represented by the current instance that match the specified binding constraints.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the nested type to return. Specify the unqualified name of the nested type. <block subset="none" type="note">For example, for a type B nested within A, if typeA represents the type object for A, the correct invocation is typeA.GetNestedType("B").</block></param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>A <see cref="T:System.Type" /> object representing the nested type that
> matches the specified criteria, if found; otherwise, <see langword="null" />. If the selected nested
> type is non-public, the current instance represents a type contained in a loaded
> assembly and the caller does not have sufficient permissions, returns
> <see langword="null" />
> .</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetNestedTypes">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type[] GetNestedTypes(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract Type[] GetNestedTypes(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para> Returns an array containing the nested types defined in
> the type represented by the current instance that match the specified binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Type" /> objects representing all types nested within the type
> represented by the current instance that match the specified binding constraints,
> if any. Otherwise, returns an empty <see cref="T:System.Type" /> array. If the type reflected by the current instance is
> contained in a loaded assembly, the type that matches the specified criteria is
> not public, and the caller does not have sufficient permission, returns only
> public types.</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetPropertyImpl">
> <MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract class System.Reflection.PropertyInfo GetPropertyImpl(string name, valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type returnType, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)" />
> <MemberSignature Language="C#" Value="protected abstract PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="returnType" Type="System.Type" />
> <Parameter Name="types" Type="System.Type[]" />
> <Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>When overridden in a derived class implements the
> <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />
> method and returns a <see cref="T:System.Reflection.PropertyInfo" /> object that reflects the property defined
> in the type represented by the current instance that matches the specified search
> criteria.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the property to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <param name="binder">
> <para>A <see cref="T:System.Reflection.Binder" /> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null" /> to use the <see cref="P:System.Type.DefaultBinder" /> .</para>
> </param>
> <param name=" returnType">A <see cref="T:System.Type" /> object that represents the type of the property to be returned.</param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes" /> to obtain a property that is not indexed.</para>
> </param>
> <param name="modifiers">The only defined value for this parameter is <see langword="null" /> .</param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" /> object representing the property that matches the
> specified search criteria, if found; otherwise, <see langword="null" />. If the type reflected by the current
> instance is from a loaded assembly, the matching property is not
> public, and the caller does not have permission to reflect on non-public
> objects in loaded assemblies, returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />, or at least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> members to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public members in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public members
> (that is, private and protected members) in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> values can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the members
> declared in the type, not members that were simply inherited.</term>
> </item>
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.IgnoreCase" /> to ignore the case of
> <paramref name="name" />.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors"> Different
> programming languages use different syntax to specify indexed properties .
> Internally, this property is referred to by the name "Item" in the metadata.
> Therefore, any attempt to retrieve an indexed property using reflection is required to
> specify this internal name in order for the <see langword="PropertyInfo" /> to be returned correctly.
> </block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetEvents">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.EventInfo[] GetEvents(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract EventInfo[] GetEvents(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.EventInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.EventInfo" /> objects that reflect the events that are
> defined in the type represented by the current instance and match the specified
> binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns null. </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.EventInfo" /> objects that reflect the events that are
> defined in the type represented by the current instance and match the
> constraints of <paramref name="bindingAttr" /> . If no events match
> these constraints, returns an empty array. If the type reflected by the current
> instance is from a loaded assembly and the caller does not have permission to
> reflect on non-public objects in loaded assemblies, returns only public
> events.</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> events to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public events in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public
> events (that is, private and protected events) in the
> search.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetEvents">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Reflection.EventInfo[] GetEvents()" />
> <MemberSignature Language="C#" Value="public virtual EventInfo[] GetEvents();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.EventInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.EventInfo" /> objects that reflect the public events
> defined in the type represented by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.EventInfo" /> objects that reflect the public events
> defined in the type represented by the current instance. If no public events
> are defined in the type represented by the current instance, returns an empty
> array.</para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> <para>
> <block subset="none" type="default">This version of <see cref="M:System.Type.GetEvents" /> is
> equivalent to <see cref="M:System.Type.GetEvents" />(<see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />).</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetEvent">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.EventInfo GetEvent(string name, valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract EventInfo GetEvent(string name, BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.EventInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.EventInfo" /> object reflecting the event that has the
> specified name, is defined in the type represented by the current instance, and
> matches the specified binding constraints.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the event to be returned.</param>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns null. </para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.EventInfo" /> object reflecting the event that is named
> <paramref name="name" />, is defined in the type represented by the current instance, and
> matches the constraints of <paramref name="bindingAttr" />. If an event
> matching these criteria is not found, returns <see langword="null" />. If the event is not
> public, the current instance represents
> a type from a loaded assembly, and the caller does not have sufficient
> permission, returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> events to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public events in
> the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public
> events(that is, private and protected events) in the search.</term>
> </item>
> <item>
> <term>
> Specify <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy" /> to include to include
> static members declared in ancestors in the search.</term>
> </item>
> </list>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> value can be used to change how the
> search works:</para>
> <list type="bullet">
> <item>
> <term>
> <see cref="F:System.Reflection.BindingFlags.DeclaredOnly" /> to search only the events
> declared on the type, not events that were simply inherited.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetInterfaces">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type[] GetInterfaces()" />
> <MemberSignature Language="C#" Value="public abstract Type[] GetInterfaces();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns all interfaces implemented or inherited by the
> type represented by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Type" /> objects representing the interfaces implemented or
> inherited by the type represented by the current instance. If no interfaces are
> found, returns an empty <see cref="T:System.Type" /> array.</para>
> </returns>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetInterface">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type GetInterface(string name, bool ignoreCase)" />
> <MemberSignature Language="C#" Value="public abstract Type GetInterface(string name, bool ignoreCase);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="ignoreCase" Type="System.Boolean" />
> </Parameters>
> <Docs>
> <summary>
> <para> Returns the specified interface,
> specifying whether to do a case-sensitive search.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the interface to return.</param>
> <param name="ignoreCase">
> <para> A <see cref="T:System.Boolean" /> where<see langword=" true" /> indicates that the name search is to be done case-insensitively, and <see langword="false" /> performs a case-sensitive search.</para>
> </param>
> <returns>
> <para>A <see cref="T:System.Type" /> object representing
> the interface with the specified name, implemented or inherited by the type
> represented by the instance, if found; otherwise, <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetConstructors">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.ConstructorInfo[] GetConstructors(valuetype System.Reflection.BindingFlags bindingAttr)" />
> <MemberSignature Language="C#" Value="public abstract ConstructorInfo[] GetConstructors(BindingFlags bindingAttr);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.ConstructorInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of constructors defined in the type represented by the
> current instance, under the specified binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns <see langword="null" /> . </para>
> </param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.ConstructorInfo" /> objects that reflect the constructors that
> are defined in the type represented by the current instance and match the
> constraints of <paramref name="bindingAttr" />. If <see cref="F:System.Reflection.BindingFlags.NonPublic" /> and <see cref="F:System.Reflection.BindingFlags.Static" /> are specified, this array
> includes the type initializer if it is defined. If no constructors meeting the
> constraints of <paramref name="bindingAttr" /> are defined in the type represented by the
> current instance, returns an empty array. If the type represented by the current
> instance is contained in a loaded assembly, the constructors that match the
> specified criteria are not public, and the caller does not have sufficient
> permission, returns <see langword="null" /> .</para>
> </returns>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> constructors to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public constructors
> in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public
> constructors (that is, private and protected constructors) in the
> search.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">As described above.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetArrayRank">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetArrayRank()" />
> <MemberSignature Language="C#" Value="public virtual int GetArrayRank();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Int32</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Returns the number of dimensions in the current <see cref="T:System.Type" />.</para>
> </summary>
> <returns>
> <para>A <see cref="T:System.Int32" /> containing the number of dimensions in the current
> <see cref="T:System.Type" />.</para>
> </returns>
> <exception cref="T:System.ArgumentException">The current <see cref="T:System.Type" /> is not an array.</exception>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="GetHashCode">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()" />
> <MemberSignature Language="C#" Value="public override int GetHashCode();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Int32</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Generates a hash code for the current instance.</para>
> </summary>
> <returns>
> <para>A <see cref="T:System.Int32" />
> containing the hash code for this instance.</para>
> </returns>
> <remarks>
> <para>The algorithm used to
> generate the hash code is unspecified.</para>
> <para>
> <block subset="none" type="note">This method
> overrides <see cref="M:System.Object.GetHashCode" />
> .</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="ToString">
> <MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()" />
> <MemberSignature Language="C#" Value="public override string ToString();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.String</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Returns a <see cref="T:System.String" /> representation of the current <see cref="T:System.Type" />.
> </para>
> </summary>
> <returns>
> <para>Returns <see cref="P:System.Type.FullName" /> .</para>
> </returns>
> <remarks>
> <para>
> <block subset="none" type="note">This method
> overrides <see cref="M:System.Object.ToString" />
> .</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="GetType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetType(string typeName, bool throwOnError, bool ignoreCase)" />
> <MemberSignature Language="C#" Value="public static Type GetType(string typeName, bool throwOnError, bool ignoreCase);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="typeName" Type="System.String" />
> <Parameter Name="throwOnError" Type="System.Boolean" />
> <Parameter Name="ignoreCase" Type="System.Boolean" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns the <see cref="T:System.Type" />
> with the specified name, optionally performing a case-sensitive search
> and throwing an exception if an error occurs while loading the <see cref="T:System.Type" />.</para>
> </summary>
> <param name="typeName">A <see cref="T:System.String" /> containing the name of the <see cref="T:System.Type" /> to return.</param>
> <param name="throwOnError">
> <para> A <see cref="T:System.Boolean" />. Specify <see langword="true" /> to throw a <see cref="T:System.TypeLoadException" /> if an error occurs while loading the <see cref="T:System.Type" />. Specify <see langword="false" /> to ignore errors while loading the <see cref="T:System.Type" />.</para>
> </param>
> <param name="ignoreCase">
> <para> A <see cref="T:System.Boolean" />. Specify<see langword=" true" /> to perform a case-insensitive search for <paramref name="typeName." /> Specify <see langword="false" /> to perform a case-sensitive search for <paramref name="typeName" /> .</para>
> </param>
> <returns>
> <para>The <see cref="T:System.Type" /> with the specified name, if found; otherwise, <see langword="null" />. If the
> requested type is non-public and the caller does not have permission to reflect non-public objects
> outside the current assembly, this method returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="typeName" /> is <see langword="null" />.</exception>
> <exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
> <exception cref="T:System.TypeLoadException">
> <paramref name="throwOnError" /> is <see langword="true" /> and an error was encountered while loading the selected <see cref="T:System.Type" />.</exception>
> <remarks>
> <para>
> <paramref name="typeName" /> can be a simple
> type name, a fully qualified name, or a complex name that includes an assembly
> name. <block subset="none" type="note"><see cref="P:System.Type.AssemblyQualifiedName" />
> returns a fully qualified type name including nested types
> and the assembly name. </block></para>
> <para>If <paramref name="typeName" /> includes only the name of the <see cref="T:System.Type" />, this method searches in the
> calling object's assembly, then in the mscorlib.dll assembly. If
> <paramref name="typeName" />
> is fully qualified with the partial or complete assembly name, this
> method searches in the specified assembly.</para>
> <block subset="none" type="note">
> <para>
> <see langword="" />
> </para>
> <para> The following table shows calls to
> <see langword="GetType" /> for various types.</para>
> <list type="table">
> <listheader>
> <term>To Get</term>
> <description>Use</description>
> </listheader>
> <item>
> <term> An
> unmanaged pointer to <see langword="MyType" /></term>
> <description>
> <c>Type.GetType("MyType*")</c>
> </description>
> </item>
> <item>
> <term> An
> unmanaged pointer to a pointer to <see langword="MyType" /></term>
> <description>
> <c>Type.GetType("MyType**")</c>
> </description>
> </item>
> <item>
> <term> A
> managed pointer
> or
> reference to <see langword="MyType" /></term>
> <description>
> <c>Type.GetType("MyType&")</c>. Note that unlike pointers, references are
> limited to one level.</description>
> </item>
> <item>
> <term> A parent class and a nested class</term>
> <description>
> <c>Type.GetType("MyParentClass+MyNestedClass")</c>
> </description>
> </item>
> <item>
> <term> A one-dimensional array with a lower bound of 0</term>
> <description>
> <c>Type.GetType("MyArray[]")</c>
> </description>
> </item>
> <item>
> <term> A one-dimensional array with an unknown lower bound</term>
> <description>
> <c>Type.GetType("MyArray[*]")</c>
> </description>
> </item>
> <item>
> <term> An n-dimensional array</term>
> <description>A comma (,) inside the brackets a total of n-1
> times. For example, <c>System.Object[,,]</c> represents a three-dimensional
> <see langword="Object" />
> array.</description>
> </item>
> <item>
> <term> A
> two-dimensional array's array</term>
> <description>
> <c>Type.GetType("MyArray[][]")</c>
> </description>
> </item>
> <item>
> <term> A rectangular two-dimensional array with unknown lower bounds</term>
> <description>
> <c>Type.GetType("MyArray[*,*]")</c>or <c>Type.GetType("MyArray[,]")</c></description>
> </item>
> </list>
> </block>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetType(string typeName, bool throwOnError)" />
> <MemberSignature Language="C#" Value="public static Type GetType(string typeName, bool throwOnError);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="typeName" Type="System.String" />
> <Parameter Name="throwOnError" Type="System.Boolean" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns the <see cref="T:System.Type" /> with the specified name, optionally throwing an
> exception if an error occurs while loading the <see cref="T:System.Type" /> .</para>
> </summary>
> <param name="typeName">A <see cref="T:System.String" /> containing the case-sensitive name of the <see cref="T:System.Type" /> to return.</param>
> <param name="throwOnError">
> <para>A <see cref="T:System.Boolean" />. Specify <see langword="true" /> to throw a <see cref="T:System.TypeLoadException" /> if an error occurs while loading the <see cref="T:System.Type" />. Specify <see langword="false" /> to ignore errors while loading the <see cref="T:System.Type" />.</para>
> </param>
> <returns>
> <para>The <see cref="T:System.Type" /> with the specified name, if found; otherwise, <see langword="null" /> . If the
> requested type is non-public and the caller does not have permission to reflect non-public objects
> outside the current assembly, this method returns <see langword="null" /> .</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="typeName" /> is <see langword="null" />. </exception>
> <exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
> <exception cref="T:System.TypeLoadException">
> <paramref name="throwOnError" /> is <see langword="true" /> and an error was encountered while loading the <see cref="T:System.Type" />.</exception>
> <remarks>
> <para>This method is equivalent to <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" />(<paramref name="name" />, <paramref name="throwOnError" />,
> <see langword="false" />).</para>
> <para>
> <paramref name="typeName" /> can be a simple
> type name, a fully qualified name, or a complex name that includes an assembly
> name specification. If <paramref name="typeName" /> includes only the name of the <see cref="T:System.Type" />, this method searches in the
> calling object's assembly, then in the mscorlib.dll assembly. If
> <paramref name="typeName" />
> is fully qualified with the partial or complete assembly name, this method
> searches in the specified assembly.</para>
> <para>
> <block subset="none" type="note">
> <see cref="P:System.Type.AssemblyQualifiedName" /> can return a fully
> qualified type name including nested types and the assembly name. For complete
> details, see <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" />(<see cref="T:System.String" />, <see cref="T:System.Boolean" />, <see cref="T:System.Boolean" />). </block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public objects. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" qualify="true" /></permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetType(string typeName)" />
> <MemberSignature Language="C#" Value="public static Type GetType(string typeName);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="typeName" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns the <see cref="T:System.Type" /> with the specified name.</para>
> </summary>
> <param name="typeName">A <see cref="T:System.String" /> containing the case-sensitive name of the <see cref="T:System.Type" /> to return.</param>
> <returns>
> <para>The <see cref="T:System.Type" /> with the specified name, if found; otherwise, <see langword="null" />. If the
> requested type is non-public and the caller does not have permission to reflect
> non-public objects outside the current assembly, this method returns
> <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="typeName" /> is <see langword="null" />. </exception>
> <exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
> <remarks>
> <para>This method is equivalent to <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" />(<paramref name="name" />, <see langword="false" />,
> <see langword="false" />).</para>
> <para>
> <paramref name="typeName" /> can be a simple
> type name, a type name that includes a namespace, or a complex name that
> includes an assembly name specification. If <paramref name="typeName" /> includes only the name of the <see cref="T:System.Type" />, this method
> searches in the calling object's assembly, then in the mscorlib.dll assembly. If
> <paramref name="typeName" />
> is fully qualified with the partial or complete assembly name, this method
> searches in the specified assembly.</para>
> <para>
> <block subset="none" type="note">
> <see cref="P:System.Type.AssemblyQualifiedName" /> can return a fully qualified type name including
> nested types and the assembly name. For complete details, see <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" />(<see cref="T:System.String" />, <see cref="T:System.Boolean" />, <see cref="T:System.Boolean" />).</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="InvokeMember">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance object InvokeMember(string name, valuetype System.Reflection.BindingFlags invokeAttr, class System.Reflection.Binder binder, object target, class System.Object[] args, class System.Globalization.CultureInfo culture)" />
> <MemberSignature Language="C#" Value="public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);" />
> <MemberType>Method</MemberType>
> <Attributes />
> <ReturnValue>
> <ReturnType>System.Object</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="invokeAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="target" Type="System.Object" />
> <Parameter Name="args" Type="System.Object[]" />
> <Parameter Name="culture" Type="System.Globalization.CultureInfo" />
> </Parameters>
> <Docs>
> <summary>
> <para>Invokes the specified member, using the specified binding constraints
> and matching the specified argument list and culture.</para>
> </summary>
> <param name="name">
> <para>A <see cref="T:System.String" /> containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify <see cref="F:System.String.Empty" /> to invoke that member. <block subset="none" type="note">For more information on default members, see <see cref="T:System.Reflection.DefaultMemberAttribute" /> .</block></para>
> </param>
> <param name="invokeAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, <see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> is used by default. </para>
> </param>
> <param name="binder">
> <para>A <see cref="T:System.Reflection.Binder" /> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null" /> to use the <see cref="P:System.Type.DefaultBinder" /> .</para>
> </param>
> <param name="target">A <see cref="T:System.Object" /> on which to invoke the member that matches the other specified criteria. If the matching member is <see langword="static" /> , this parameter is ignored.</param>
> <param name="args">An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound. Specify an empty array or <see langword="null" /> for a member that has no parameters.</param>
> <param name="culture">
> <para>The only defined value for this parameter is <see langword="null" /> .</para>
> </param>
> <returns>
> <para>A <see cref="T:System.Object" />
> containing the return value of the invoked member. If the invoked member does
> not have a return value, returns a <see cref="T:System.Object" /> containing <see cref="T:System.Void" /> .</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="n" />
> <paramref name="ame" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="args" /> has more than one dimension.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> is not a valid <see cref="T:System.Reflection.BindingFlags" /> value.</para>
> <para>-or-</para>
> <para>The member to be invoked is a constructor and <see cref="F:System.Reflection.BindingFlags.CreateInstance" /> is not specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be invoked is a method that is not a type initializer or instance constructor, and <see cref="F:System.Reflection.BindingFlags.InvokeMethod" /> is not specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be accessed is a field, and neither <see cref="F:System.Reflection.BindingFlags.GetField" /> nor <see cref="F:System.Reflection.BindingFlags.SetField" /> is specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be accessed is a property, and neither <see cref="F:System.Reflection.BindingFlags.GetProperty" /> nor <see cref="F:System.Reflection.BindingFlags.SetProperty" /> is specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.CreateInstance" /> and at least one of <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, <see cref="F:System.Reflection.BindingFlags.GetField" />, <see cref="F:System.Reflection.BindingFlags.SetField" />, <see cref="F:System.Reflection.BindingFlags.GetProperty" />, or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains both <see cref="F:System.Reflection.BindingFlags.GetField" /> and <see cref="F:System.Reflection.BindingFlags.SetField" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains both <see cref="F:System.Reflection.BindingFlags.GetProperty" /> and <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />and at least one of <see cref="F:System.Reflection.BindingFlags.SetField" /> or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.SetField" /> and <paramref name="args" /> has more than one element.</para>
> </exception>
> <exception cref="T:System.MissingFieldException">A field or property matching the specified criteria was not found.</exception>
> <exception cref="T:System.MissingMethodException">A method matching the specified criteria was not found.</exception>
> <exception cref="T:System.MethodAccessException">The requested member is non-public and the caller does not have the required permission.</exception>
> <exception cref="T:System.Reflection.TargetException">The member matching the specified criteria cannot be invoked on <paramref name="target" />.</exception>
> <exception cref="T:System.Reflection.TargetInvocationException">The member matching the specified criteria threw an exception.</exception>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one member matches the specified criteria.</exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> is equivalent to <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" />(
> <paramref name="name" />, <paramref name="invokeAttr" />, <paramref name="binder" />, <paramref name="target" />, <paramref name="args" />,
> <see langword="null" />, <paramref name="culture" />, <see langword="null" /> ). </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> <example>
> <para> For an example that demonstrates
> <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> , see <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" />(
> <see cref="T:System.String" />, <see cref="T:System.Reflection.BindingFlags" />,
> <see cref="T:System.Reflection.Binder" />, <see cref="T:System.Object" />, <see cref="T:System.Object" />[], <see cref="T:System.Reflection.ParameterModifier" />[], <see cref="T:System.Globalization.CultureInfo" />, <see cref="T:System.String" />[]).
> </para>
> </example>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="InvokeMember">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance object InvokeMember(string name, valuetype System.Reflection.BindingFlags invokeAttr, class System.Reflection.Binder binder, object target, class System.Object[] args)" />
> <MemberSignature Language="C#" Value="public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);" />
> <MemberType>Method</MemberType>
> <Attributes />
> <ReturnValue>
> <ReturnType>System.Object</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="invokeAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="target" Type="System.Object" />
> <Parameter Name="args" Type="System.Object[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Invokes the specified member, using the specified binding constraints and
> matching the specified argument list.</para>
> </summary>
> <param name="name">
> <para>A <see cref="T:System.String" /> containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify <see cref="F:System.String.Empty" /> to invoke that member. <block subset="none" type="note">For more information on default members, see <see cref="T:System.Reflection.DefaultMemberAttribute" /> .</block></para>
> </param>
> <param name="invokeAttr">A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, <see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> is used by default.</param>
> <param name="binder">
> <para>A <see cref="T:System.Reflection.Binder" /> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null" /> to use the <see cref="P:System.Type.DefaultBinder" /> .</para>
> </param>
> <param name="target">A <see cref="T:System.Object" /> on which to invoke the member that matches the other specified criteria. If the matching member is <see langword="static" /> , this parameter is ignored.</param>
> <param name="args">An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound. Specify an empty array or <see langword="null" /> for a member that has no parameters.</param>
> <returns>
> <para>A <see cref="T:System.Object" />
> containing the return value of the invoked member. If the invoked member does
> not have a return value, returns a <see cref="T:System.Object" /> containing <see cref="T:System.Void" /> .</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="args" /> has more than one dimension.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> is not a valid <see cref="T:System.Reflection.BindingFlags" /> value.</para>
> <para>-or-</para>
> <para>The member to be invoked is a constructor and <see cref="F:System.Reflection.BindingFlags.CreateInstance" /> is not specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be invoked is a method that is not a type initializer or instance constructor, and <see cref="F:System.Reflection.BindingFlags.InvokeMethod" /> is not specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be accessed is a field, and neither <see cref="F:System.Reflection.BindingFlags.GetField" /> nor <see cref="F:System.Reflection.BindingFlags.SetField" /> is specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>The member to be accessed is a property, and neither <see cref="F:System.Reflection.BindingFlags.GetProperty" /> nor <see cref="F:System.Reflection.BindingFlags.SetProperty" /> is specified in <paramref name="invokeAttr" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.CreateInstance" /> and at least one of <see cref="F:System.Reflection.BindingFlags.InvokeMethod" />, <see cref="F:System.Reflection.BindingFlags.GetField" />, <see cref="F:System.Reflection.BindingFlags.SetField" />, <see cref="F:System.Reflection.BindingFlags.GetProperty" />, or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains both <see cref="F:System.Reflection.BindingFlags.GetField" /> and <see cref="F:System.Reflection.BindingFlags.SetField" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains both <see cref="F:System.Reflection.BindingFlags.GetProperty" /> and <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.InvokeMethod" /> and at least one of <see cref="F:System.Reflection.BindingFlags.SetField" /> or <see cref="F:System.Reflection.BindingFlags.SetProperty" />.</para>
> <para>-or-</para>
> <para>
> <paramref name="invokeAttr" /> contains <see cref="F:System.Reflection.BindingFlags.SetField" /> and <paramref name="args" /> has more than one element.</para>
> </exception>
> <exception cref="T:System.MissingFieldException">A field or property matching the specified criteria was not found.</exception>
> <exception cref="T:System.MissingMethodException">A method matching the specified criteria cannot be found.</exception>
> <exception cref="T:System.MethodAccessException">The requested member is non-public and the caller does not have the required permission.</exception>
> <exception cref="T:System.Reflection.TargetException">The member matching the specified criteria cannot be invoked on <paramref name="target" />.</exception>
> <exception cref="T:System.Reflection.TargetInvocationException">The member matching the specified criteria threw an exception.</exception>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one member matches the specified criteria.</exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" /> is equivalent to <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" />(<paramref name="name" />, <paramref name="invokeAttr" />, <paramref name="binder" />,
> <paramref name="target" />, <paramref name="args" />, <see langword="null" />, <see langword="null" />,
> <see langword="null" />).</para>
> <para>
> <block subset="none" type="note">For a demonstration of the use of
> <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" />, see the example for <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])" />(
> <see cref="T:System.String" />, <see cref="T:System.Reflection.BindingFlags" />,
> <see cref="T:System.Reflection.Binder" />, <see cref="T:System.Object" />, <see cref="T:System.Object" />[], <see cref="T:System.Reflection.ParameterModifier" />[], <see cref="T:System.Globalization.CultureInfo" />, <see cref="T:System.String" />[]).</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetTypeHandle">
> <MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.RuntimeTypeHandle GetTypeHandle(object o)" />
> <MemberSignature Language="C#" Value="public static RuntimeTypeHandle GetTypeHandle(object o);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.RuntimeTypeHandle</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="o" Type="System.Object" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns the handle for the <see cref="T:System.Type" /> of the specified object.</para>
> </summary>
> <param name="o">The object for which to get the type handle.</param>
> <returns>
> <para>The <see cref="T:System.RuntimeTypeHandle" /> for the <see cref="T:System.Type" /> of the specified <see cref="T:System.Object" />.</para>
> </returns>
> <remarks>
> <para>The handle is valid only in the application domain in which it was obtained. </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
> </Member>
> <Member MemberName="GetTypeFromHandle">
> <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetTypeFromHandle(valuetype System.RuntimeTypeHandle handle)" />
> <MemberSignature Language="C#" Value="public static Type GetTypeFromHandle(RuntimeTypeHandle handle);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="handle" Type="System.RuntimeTypeHandle" />
> </Parameters>
> <Docs>
> <summary>
> <para>Gets the <see cref="T:System.Type" /> referenced by the specified type handle.</para>
> </summary>
> <param name="handle">The <see cref="T:System.RuntimeTypeHandle" /> object that refers to the desired <see cref="T:System.Type" />.</param>
> <returns>
> <para>The <see cref="T:System.Type" /> referenced by the specified <see cref="T:System.RuntimeTypeHandle" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="handle" /> is <see langword="null" />.</exception>
> <exception cref="T:System.Security.SecurityException">The requested type is non-public and outside the current assembly, and the caller does not have the required permission.</exception>
> <exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
> <remarks>
> <para>The handles are valid only in the application domain in which they were obtained. </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public objects. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" qualify="true" /></permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
> </Member>
> <Member MemberName="GetConstructor">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.ConstructorInfo GetConstructor(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)" />
> <MemberSignature Language="C#" Value="public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.ConstructorInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" />
> <Parameter Name="binder" Type="System.Reflection.Binder" />
> <Parameter Name="types" Type="System.Type[]" />
> <Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a constructor defined in the type represented by the current
> instance. The parameters of the constructor match the specified argument types
> and modifiers, under the specified binding constraints.</para>
> </summary>
> <param name="bindingAttr">
> <para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. If zero is specified, this method returns null. </para>
> </param>
> <param name="binder">
> <para>A <see cref="T:System.Reflection.Binder" /> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null" /> to use the <see cref="P:System.Type.DefaultBinder" /> .</para>
> </param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the constructor to be returned.</para>
> </param>
> <param name="modifiers">The only defined value for this parameter is <see langword="null" /> .</param>
> <returns>
> <para>A <see cref="T:System.Reflection.ConstructorInfo" /> object that reflects the constructor
> that matches the specified criteria. If an exact match does not exist,
> <paramref name="binder" /> will attempt to coerce the parameter types specified in
> <paramref name="types" /> to select a match. If <paramref name="binder" /> is unable to select a
> match, returns <see langword="null" /> . If the type represented by the current
> instance is contained in a loaded assembly, the constructor that matches the
> specified criteria is not public, and the caller does not have sufficient
> permissions, returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="types" /> is <see langword="null" />, or at least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>The following <see cref="T:System.Reflection.BindingFlags" /> are used to define which
> constructors to include in the search:</para>
> <list type="bullet">
> <item>
> <term>
>
> Specify either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />
> to get a return value other than <see langword="null" />.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.Public" /> to include public constructors
> in the search.</term>
> </item>
> <item>
> <term>
>
> Specify <see cref="F:System.Reflection.BindingFlags.NonPublic" /> to include non-public
> constructors (that is, private and protected constructors) in the
> search.</term>
> </item>
> </list>
> <para>
> <block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags" />.</block>
> </para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetConstructor">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.ConstructorInfo GetConstructor(class System.Type[] types)" />
> <MemberSignature Language="C#" Value="public ConstructorInfo GetConstructor(Type[] types);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.ConstructorInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="types" Type="System.Type[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a public instance constructor defined in the type represented by the
> current instance. The parameters of the constructor match the specified argument
> types.</para>
> </summary>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the constructor to be returned. Specify <see cref="F:System.Type.EmptyTypes" /> to obtain a constructor that takes no parameters.</para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.ConstructorInfo" /> object representing the public instance
> constructor whose parameters match exactly the types in <paramref name="types" /> , if found;
> otherwise, <see langword="null" />. If the type represented by the current
> instance is contained in a loaded assembly, the constructor that matches the
> specified criteria is not public, and the caller does not have sufficient
> permissions, returns <see langword="null" />. </para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="types" /> is <see langword="null" />, or at least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" />(<see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />, <see langword="null" />,
> <paramref name="types" />, <see langword="null" />).</para>
> <see langword="" />
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetConstructors">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.ConstructorInfo[] GetConstructors()" />
> <MemberSignature Language="C#" Value="public ConstructorInfo[] GetConstructors();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.ConstructorInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns an array of the public constructors defined in the type represented
> by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.ConstructorInfo" /> objects that reflect the public constructors
> defined in the type represented by the current instance. If no public
> constructors are defined in the type represented by the current instance,
> returns an empty array.</para>
> </returns>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetConstructors" /> is equivalent to <see cref="M:System.Type.GetConstructors" />(<see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethod">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo GetMethod(string name, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)" />
> <MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, Type[] types, ParameterModifier[] modifiers);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="types" Type="System.Type[]" />
> <Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.MethodInfo" /> object that reflects the public method that
> has the specified name and is defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public method to be returned.</param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.</para>
> </param>
> <param name="modifiers">The only defined value for this parameter is <see langword="null" /> .</param>
> <returns>
> <para>A <see cref="T:System.Reflection.MethodInfo" /> object reflecting the public method that is
> defined in the type represented by the current instance and matches the
> specified criteria, if found; otherwise, <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />.</para>
> <para>-or-</para>
> <para>At least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>The default binder does not process
> <paramref name="modifier" /> . </para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> ( <paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Public" /> |<see cref="F:System.Reflection.BindingFlags.Static" /> |<see cref="F:System.Reflection.BindingFlags.Instance" /> , <see langword="null" />,<paramref name=" types" /> , <paramref name="modifiers" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethod">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo GetMethod(string name, class System.Type[] types)" />
> <MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, Type[] types);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="types" Type="System.Type[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.MethodInfo" /> object that reflects the public method defined in
> the type represented by the current instance that has the specified name and parameter
> information.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public method to be returned.</param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.</para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.MethodInfo" /> object reflecting
> the public method defined in the type represented by the current instance
> that matches the specified criteria. If no public method matching the specified criteria
> is found, returns <see langword="null" /> . </para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />.</para>
> <para>-or-</para>
> <para>At least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />, <see langword="null" />,
> <paramref name="types" />, <see langword="null" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethod">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo GetMethod(string name)" />
> <MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.MethodInfo" /> object that reflects the public method that
> has the specified name and is defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public method to be returned.</param>
> <returns>
> <para>A <see cref="T:System.Reflection.MethodInfo" /> object reflecting the public method that is
> defined in the type represented by the current instance and has the specified
> name, if found; otherwise, <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />, <see langword="null" />,
> <see langword="null" />, <see langword="null" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMethods">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo[] GetMethods()" />
> <MemberSignature Language="C#" Value="public MethodInfo[] GetMethods();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MethodInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns the public methods defined in the type represented by the current
> instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MethodInfo" /> objects reflecting the public methods defined in the
> type represented by the current instance under the constraints of
> <paramref name="bindingAttr" />. If no methods matching the constraints are found, returns an
> empty array.</para>
> </returns>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetMethods" /> is equivalent to <see cref="M:System.Type.GetMethods" />( <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Public" /> ).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetField">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.FieldInfo GetField(string name)" />
> <MemberSignature Language="C#" Value="public FieldInfo GetField(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.FieldInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.FieldInfo" /> object reflecting the field that has the
> specified name and is defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the field to be returned.</param>
> <returns>
> <para>A <see cref="T:System.Reflection.FieldInfo" /> object reflecting the field that is named
> <paramref name="name" /> and is defined in the type represented by the current instance, if
> found; otherwise, <see langword="null" />. If the selected field is non-public, the type represented by the
> current instance is from a loaded assembly and the caller does not have
> sufficient permission to reflect on non-public objects in loaded assemblies,
> returns <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>This version of <see cref="M:System.Type.GetField(System.String,System.Reflection.BindingFlags)" /> is equivalent to <see cref="M:System.Type.GetField(System.String,System.Reflection.BindingFlags)" />(
> <paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> ).</para>
> </remarks>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetFields">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.FieldInfo[] GetFields()" />
> <MemberSignature Language="C#" Value="public FieldInfo[] GetFields();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.FieldInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.FieldInfo" /> objects that reflect the public fields
> defined in the type represented by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.FieldInfo" /> objects that reflect the public fields
> defined in the type represented by the current instance. If no public fields
> are defined in the type represented by the current instance, returns an empty
> array.</para>
> </returns>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetFields" /> is equivalent to <see cref="M:System.Type.GetFields" />( <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Public" /> ).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetInterface">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type GetInterface(string name)" />
> <MemberSignature Language="C#" Value="public Type GetInterface(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para> Searches for the interface with the specified name.
> </para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the interface to get. </param>
> <returns>
> <para> A <see cref="T:System.Type" /> object
> representing the interface with the specified name, implemented or inherited by
> the current <see cref="T:System.Type" />, if found; otherwise, <see langword="null" />.
> </para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para> The search for <paramref name="name" /> is case-sensitive.
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetEvent">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.EventInfo GetEvent(string name)" />
> <MemberSignature Language="C#" Value="public EventInfo GetEvent(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.EventInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.EventInfo" /> object reflecting the public event that has the
> specified name and is defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public event to be returned.</param>
> <returns>
> <para>A <see cref="T:System.Reflection.EventInfo" /> object
> reflecting the public event that is named
> <paramref name="name" /> and is defined in the type represented by the current instance, if
> found; otherwise, <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />.</exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetEvent(System.String)" /> is equivalent to <see cref="M:System.Type.GetEvent(System.String)" />( <paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Public" /> ).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperty">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name, class System.Type returnType, class System.Type[] types)" />
> <MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, Type returnType, Type[] types);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="returnType" Type="System.Type" />
> <Parameter Name="types" Type="System.Type[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.PropertyInfo" /> object that reflects the public property
> defined in the type represented by the current instance that matches the specified search
> criteria.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public property to be returned.</param>
> <param name=" returnType">A <see cref="T:System.Type" /> object that represents the type of the public property to be returned.</param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes" /> for a property that is not indexed.</para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" /> object
> reflecting the public property defined in the type represented by
> the current instance that matches the specified criteria. If no matching property is
> found, returns <see langword="null" /> . </para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />, or at least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <paramref name="types" /> has more than one dimension.</exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Public" />,
> <see langword="null" />, <paramref name="returnTypes" />, <paramref name="types" />,
> <see langword="null" />).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>Different programming languages use different syntax to
> specify indexed properties. Internally, this property is referred to by the name
> "Item" in the metadata. Therefore, any attempt to retrieve an indexed
> property using reflection is required to
> specify this internal name in order for the <see langword="PropertyInfo" /> to be returned correctly.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperty">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name, class System.Type[] types)" />
> <MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, Type[] types);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="types" Type="System.Type[]" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.PropertyInfo" /> object that reflects the public property defined
> in the type represented by the current instance that matches the specified search
> criteria.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public property to be returned.</param>
> <param name="types">
> <para>An array of <see cref="T:System.Type" /> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes" /> to obtain a property that is not indexed.</para>
> </param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" /> object reflecting the public property defined
> on the type represented by the current instance that matches the specified
> criteria. If no matching property is found, returns <see langword="null" /> .</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> or <paramref name="types" /> is <see langword="null" />, or at least one of the elements in <paramref name="types" /> is <see langword="null" />.</para>
> </exception>
> <exception cref="T:System.ArgumentException">
> <para>
> <paramref name="types" /> has more than one dimension.</para>
> </exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Public" />,
> <see langword="null" />, <see langword="null" />, <paramref name="types" />,
> <see langword="null" />).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>Different programming languages use different syntax to
> specify indexed properties. Internally, this property is referred to by the name
> "Item" in the metadata. Therefore, any attempt to retrieve an indexed property
> using reflection is required to
> specify this internal name in order for the <see langword="PropertyInfo" /> to be returned correctly.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperty">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name, class System.Type returnType)" />
> <MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, Type returnType);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> <Parameter Name="returnType" Type="System.Type" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.PropertyInfo" />
> object that reflects the public property defined in the type represented by the current
> instance that matches the specified search criteria.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the property to be returned.</param>
> <param name=" returnType">A <see cref="T:System.Type" /> object that represents the type of the property to be returned.</param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" /> object reflecting the public property defined
> on the type represented by the current instance that matches the specified
> criteria. If no matching property is found, returns <see langword="null" /> .</para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> is <see langword="null" />.</para>
> </exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Public" />,
> <see langword="null" />, <paramref name="returnType" />, <see langword="null" />,
> <see langword="null" />).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperty">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name)" />
> <MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns a <see cref="T:System.Reflection.PropertyInfo" /> object that reflects the public
> property defined in the type represented by the current instance that has the specified
> name.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the property to be returned.</param>
> <returns>
> <para>A <see cref="T:System.Reflection.PropertyInfo" /> object reflecting the public property defined
> on the type represented by the current instance that has the specified name. If
> no matching property is found, returns <see langword="null" /> . </para>
> </returns>
> <exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
> <exception cref="T:System.ArgumentNullException">
> <para>
> <paramref name="name" /> is <see langword="null" />.</para>
> </exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" /> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Public" />,
> <see langword="null" />, <see langword="null" />, <see langword="null" />,
> <see langword="null" />).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetProperties">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo[] GetProperties()" />
> <MemberSignature Language="C#" Value="public PropertyInfo[] GetProperties();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.PropertyInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.PropertyInfo" /> objects that reflect the public properties
> defined in the type represented by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.PropertyInfo" />
> objects that reflect the public properties defined in the type
> represented by the current instance. If no public properties are found, returns
> an empty array.</para>
> </returns>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetProperties(System.Reflection.BindingFlags)" /> is equivalent to <see cref="M:System.Type.GetProperties(System.Reflection.BindingFlags)" />(
> <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Public" /> ).</para>
> <para>A property is considered by reflection
> to be <see langword="public" /> if it has at least one accessor that is
> <see langword="public" />. Otherwise, the property is considered to be not
> <see langword="public" />.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetNestedTypes">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type[] GetNestedTypes()" />
> <MemberSignature Language="C#" Value="public Type[] GetNestedTypes();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns all the public types nested within the current <see cref="T:System.Type" />.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Type" /> objects representing all public types nested within the type
> represented by the current instance, if any. Otherwise, returns an empty <see cref="T:System.Type" /> array.</para>
> </returns>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetNestedTypes" /> is equivalent to <see cref="M:System.Type.GetNestedTypes" />(<see cref="F:System.Reflection.BindingFlags.Public" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetNestedType">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type GetNestedType(string name)" />
> <MemberSignature Language="C#" Value="public Type GetNestedType(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns the public nested type defined in the type represented by the current instance</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the public nested type to return. Specify the unqualified name of the nested type. <block subset="none" type="note">For example, for a type B nested within A, if typeA represents the type object for A, the correct invocation is typeA.GetNestedType("B"). </block></param>
> <returns>
> <para>A <see cref="T:System.Type" /> object
> representing the public nested type with the specified
> name, if found; otherwise, <see langword="null" />.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> <para>This version of <see cref="M:System.Type.GetNestedTypes" /> is equivalent to <see cref="M:System.Type.GetNestedTypes" />(<paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Public" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMember">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MemberInfo[] GetMember(string name)" />
> <MemberSignature Language="C#" Value="public MemberInfo[] GetMember(string name);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MemberInfo[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="name" Type="System.String" />
> </Parameters>
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the public members that
> have the specified name and are defined in the type represented by the current
> instance.</para>
> </summary>
> <param name="name">A <see cref="T:System.String" /> containing the name of the members to be returned.</param>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the public members that
> are named <paramref name="name" /> and are defined in the type represented by the current instance. If no public
> members with the specified name are defined in the type represented by the
> current instance, returns an empty array.</para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="name" /> is <see langword="null" />. </exception>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetMember(System.String)" /> is equivalent to <see cref="M:System.Type.GetMember(System.String)" />( <paramref name="name" />, <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" /> | <see cref="F:System.Reflection.BindingFlags.Public" /> ).</para>
> <para>The search for <paramref name="name" /> is case-sensitive.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetMembers">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MemberInfo[] GetMembers()" />
> <MemberSignature Language="C#" Value="public MemberInfo[] GetMembers();" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.MemberInfo[]</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Returns an array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the public members
> defined in the type represented by the current instance.</para>
> </summary>
> <returns>
> <para>An array of <see cref="T:System.Reflection.MemberInfo" /> objects that reflect the public members
> defined in the type represented by the current instance. If no public members
> are defined in the type represented by the current instance, returns an empty
> array.</para>
> </returns>
> <remarks>
> <para>This version of <see cref="M:System.Type.GetMembers" /> is equivalent to <see cref="M:System.Type.GetMembers" />(<see cref="F:System.Reflection.BindingFlags.Public" /> | <see cref="F:System.Reflection.BindingFlags.Static" /> | <see cref="F:System.Reflection.BindingFlags.Instance" />).</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="GetTypeArray">
> <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type[] GetTypeArray(class System.Object[] args)" />
> <MemberSignature Language="C#" Value="public static Type[] GetTypeArray(object[] args);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Type[]</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="args" Type="System.Object[]" />
> </Parameters>
> <Docs>
> <summary>
> <para> Returns the types of the objects in the specified array.
> </para>
> </summary>
> <param name="args">An array of objects whose types are to be returned. </param>
> <returns>
> <para> An array of <see cref="T:System.Type" /> objects representing the types of the corresponding
> elements in <paramref name="args" />. If a requested type is not public
> and the caller does not have permission to
> reflect non-public objects outside the current assembly, the corresponding element in the
> array returned by this method will be <see langword="null" />.
> </para>
> </returns>
> <exception cref="T:System.ArgumentNullException">
> <paramref name="args" /> is <see langword="null" />. </exception>
> <exception cref="T:System.Reflection.TargetInvocationException">The type initializers were invoked and at least one threw an exception. </exception>
> <permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="Equals">
> <MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Equals(class System.Type o)" />
> <MemberSignature Language="C#" Value="public bool Equals(Type o);" />
> <MemberType>Method</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters>
> <Parameter Name="o" Type="System.Type" />
> </Parameters>
> <Docs>
> <summary>
> <para>Determines if the underlying system type of the current <see cref="T:System.Type" /> is the same as the
> underlying system type of the specified <see cref="T:System.Type" />.</para>
> </summary>
> <param name="o">The <see cref="T:System.Type" /> whose underlying system type is to be compared with the underlying system type of the current <see cref="T:System.Type" />.</param>
> <returns>
> <para>
> <see langword="true" /> if the underlying system type of <paramref name="o" /> is the same
> as the underlying system type of the current <see cref="T:System.Type" />; otherwise, <see langword="false" />.</para>
> </returns>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName=".ctor">
> <MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()" />
> <MemberSignature Language="C#" Value="protected Type();" />
> <MemberType>Constructor</MemberType>
> <ReturnValue />
> <Parameters />
> <Docs>
> <summary>
> <para> Constructs a new instance of the <see cref="T:System.Type" /> class.
> </para>
> </summary>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="DeclaringType">
> <MemberSignature Language="ILASM" Value=".property class System.Type DeclaringType { public hidebysig virtual specialname class System.Type get_DeclaringType() }" />
> <MemberSignature Language="C#" Value="public override Type DeclaringType { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the type that declares the type represented by the current instance.</para>
> </summary>
> <value>
> <para>The <see cref="T:System.Type" /> object for
> the class that declares the type represented by the current
> instance. If the type is a nested type, this property returns the enclosing type; otherwise, returns
> the current instance.</para>
> </value>
> <remarks>
> <para>
> <block subset="none" type="note">This property overrides <see cref="P:System.Reflection.MemberInfo.DeclaringType" />.</block>
> </para>
> </remarks>
> <example>
> <para>The following example demonstrates the
> <see cref="P:System.Type.DeclaringType" /> property. </para>
> <code lang="C#">using System;
> using System.Reflection;
>
> public abstract class DeclaringTypeTest{
> public abstract class MyClassA {
> public abstract int m();
> }
> public abstract class MyClassB : MyClassA {
> }
> public static void Main() {
> Console.WriteLine("Declaring type of m is {0}",
> typeof(MyClassB).GetMethod("m").DeclaringType);
> }
> }
> </code>
> <para> The output is </para>
> <c>
> <para>Declaring type of m is DeclaringTypeTest+MyClassA </para>
> </c>
> </example>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="ReflectedType">
> <MemberSignature Language="ILASM" Value=".property class System.Type ReflectedType { public hidebysig virtual specialname class System.Type get_ReflectedType() }" />
> <MemberSignature Language="C#" Value="public override Type ReflectedType { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the type that was used to obtain the current
> instance.</para>
> </summary>
> <value>
> <para>The <see langword="Type" /> object
> through which the current instance was obtained.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>
> <block subset="none" type="note">This property
> overrides <see cref="P:System.Reflection.MemberInfo.ReflectedType" />.</block>
> </para>
> </remarks>
> <example>
> <para>The following example demonstrates the <see cref="P:System.Type.ReflectedType" /> property. Although the method <paramref name="m" /> is
> declared in <see langword="MyClassA" />, its reflected type is obtained from
> <see langword="MyClassB" /> .</para>
> <code lang="C#">using System;
> using System.Reflection;
> public abstract class ReflectedTypeTest {
> public abstract class MyClassA {
> public abstract int m();
> }
> public abstract class MyClassB : MyClassA {
> }
> public static void Main(string[] args) {
> Console.WriteLine("Reflected type of m is {0}",
> typeof(MyClassB).GetMethod("m").ReflectedType);
> }
> }
> </code>
> <para>The output is </para>
> <c>
> <para>Reflected type of m is ReflectedTypeTest+MyClassB</para>
> </c>
> </example>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="DefaultBinder">
> <MemberSignature Language="ILASM" Value=".property class System.Reflection.Binder DefaultBinder { public hidebysig static specialname class System.Reflection.Binder get_DefaultBinder() }" />
> <MemberSignature Language="C#" Value="public static Binder DefaultBinder { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.Binder</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the default binder used by the system.</para>
> </summary>
> <value>
> <para>The default <see cref="T:System.Reflection.Binder" /> used by the system.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>Reflection models the accessibility rules of the common
> type system. For example, if the caller is in the same assembly, the caller does
> not need special permissions for internal members. Otherwise, the caller needs
> <see cref="T:System.Security.Permissions.ReflectionPermission" />
> . This is consistent with lookup of members that
> are protected, private, and so on. </para>
> <para>
> <block subset="none" type="note">The general principle is that <see cref="M:System.Reflection.Binder.ChangeType(System.Object,System.Type,System.Globalization.CultureInfo)" />
> typically performs only widening coercions,
> which never lose data. An example of a widening coercion is coercing a
> value that is a 32-bit signed integer to a value that is a 64-bit signed integer.
> This is distinguished from a narrowing coercion, which may lose data. An
> example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit
> signed integer. </block>
> </para>
> <para>The following table lists the coercions performed by the default binder's implementation of
> <see langword="ChangeType" />.</para>
> <list type="table">
> <listheader>
> <term>Source Type</term>
> <description>Target Type</description>
> </listheader>
> <item>
> <term> Any type</term>
> <description>Its base type.</description>
> </item>
> <item>
> <term> Any type</term>
> <description>The interface it implements.</description>
> </item>
> <item>
> <term> Char</term>
> <description>Unt16, UInt32, Int32, UInt64, Int64, Single, Double</description>
> </item>
> <item>
> <term> Byte</term>
> <description>Char, Unt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double</description>
> </item>
> <item>
> <term> SByte</term>
> <description>Int16, Int32, Int64, Single, Double</description>
> </item>
> <item>
> <term> UInt16</term>
> <description>UInt32, Int32, UInt64, Int64, Single, Double</description>
> </item>
> <item>
> <term> Int16</term>
> <description>Int32, Int64, Single, Double</description>
> </item>
> <item>
> <term> UInt32</term>
> <description>UInt64, Int64, Single, Double</description>
> </item>
> <item>
> <term> Int32</term>
> <description>Int64, Single, Double</description>
> </item>
> <item>
> <term> UInt64</term>
> <description>Single, Double</description>
> </item>
> <item>
> <term> Int64</term>
> <description>Single, Double</description>
> </item>
> <item>
> <term> Single</term>
> <description>Double</description>
> </item>
> <item>
> <term> Non-reference</term>
> <description>By-reference.</description>
> </item>
> </list>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="Module">
> <MemberSignature Language="ILASM" Value=".property class System.Reflection.Module Module { public hidebysig virtual abstract specialname class System.Reflection.Module get_Module() }" />
> <MemberSignature Language="C#" Value="public abstract Module Module { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.Module</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets the module in which the current <see cref="T:System.Type" /> is defined.</para>
> </summary>
> <value>
> <para>A <see cref="T:System.Reflection.Module" /> that reflects the module in which the current <see cref="T:System.Type" /> is defined.</para>
> </value>
> <remarks>
> <para>
> <block subset="none" type="behaviors">This property is
> read-only.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="Assembly">
> <MemberSignature Language="ILASM" Value=".property class System.Reflection.Assembly Assembly { public hidebysig virtual abstract specialname class System.Reflection.Assembly get_Assembly() }" />
> <MemberSignature Language="C#" Value="public abstract Assembly Assembly { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.Assembly</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the <see cref="T:System.Reflection.Assembly" /> that the type is declared in. </para>
> </summary>
> <value>
> <para>A <see cref="T:System.Reflection.Assembly" /> instance that describes assembly containing the current type.</para>
> </value>
> <remarks>
> <para>
> <block subset="none" type="behaviors">This property is read-only.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
> </Member>
> <Member MemberName="TypeHandle">
> <MemberSignature Language="ILASM" Value=".property valuetype System.RuntimeTypeHandle TypeHandle { public hidebysig virtual abstract specialname valuetype System.RuntimeTypeHandle get_TypeHandle() }" />
> <MemberSignature Language="C#" Value="public abstract RuntimeTypeHandle TypeHandle { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.RuntimeTypeHandle</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the handle for the current <see cref="T:System.Type" />.</para>
> </summary>
> <value>
> <para>The <see cref="T:System.RuntimeTypeHandle" /> for the current <see cref="T:System.Type" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>The <see cref="T:System.RuntimeTypeHandle" /> encapsulates a pointer to an internal data structure that represents the type. This
> handle is unique during the process lifetime. The handle is valid only in
> the application domain in which it was obtained.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
> </Member>
> <Member MemberName="FullName">
> <MemberSignature Language="ILASM" Value=".property string FullName { public hidebysig virtual abstract specialname string get_FullName() }" />
> <MemberSignature Language="C#" Value="public abstract string FullName { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.String</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the fully qualified name of the type represented by
> the current instance.</para>
> </summary>
> <value>
> <para>A <see cref="T:System.String" /> containing the fully qualified name of the <see cref="T:System.Type" />.</para>
> </value>
> <remarks>
> <para>
> <block subset="none" type="note">For example, the
> fully qualified name of the C# string type is "System.String".</block>
> </para>
> <para>
> <block subset="none" type="behaviors">This property is
> read-only.</block>
> </para>
> </remarks>
> <example>
> <para>The following example demonstrates using the <see cref="P:System.Type.FullName" />
> property.</para>
> <code lang="C#">using System;
> class TestType {
> public static void Main() {
> Type t = typeof(Array);
> Console.WriteLine("Full name of Array type is {0}",t.FullName);
> }
> }
> </code>
> <para>The output is</para>
> <para>
> <c>Full name of
> Array type is System.Array</c>
> </para>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="Namespace">
> <MemberSignature Language="ILASM" Value=".property string Namespace { public hidebysig virtual abstract specialname string get_Namespace() }" />
> <MemberSignature Language="C#" Value="public abstract string Namespace { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.String</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the namespace of the <see cref="T:System.Type" />.</para>
> </summary>
> <value>
> <para>A <see cref="T:System.String" /> containing the namespace of the current <see cref="T:System.Type" />.</para>
> </value>
> <remarks>
> <para>
> <block subset="none" type="note">A namespace is a
> logical design-time naming convenience, used mainly to define scope in an
> application and organize classes and other types in a hierarchical structure.
> From the viewpoint of the system, there are no namespaces.</block>
> </para>
> <para>
> <block subset="none" type="behaviors">This property is
> read-only.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="AssemblyQualifiedName">
> <MemberSignature Language="ILASM" Value=".property string AssemblyQualifiedName { public hidebysig virtual abstract specialname string get_AssemblyQualifiedName() }" />
> <MemberSignature Language="C#" Value="public abstract string AssemblyQualifiedName { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.String</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the fully qualified name of the type represented by
> the current instance
> including the name of the assembly from which the <see cref="T:System.Type" /> was loaded.</para>
> </summary>
> <value>
> <para>A <see cref="T:System.String" /> containing the
> fully qualified name of the type represented by the current instance,
> including the name of the assembly from which the <see cref="T:System.Type" /> was loaded.</para>
> </value>
> <remarks>
> <block subset="none" type="behaviors">
> <para>
> This property is read-only.</para>
> <para>Compilers emit the simple name of a nested class, and reflection constructs a
> mangled name when queried, in accordance with the following conventions.</para>
> <list type="table">
> <listheader>
> <term>Delimiter</term>
> <description>Meaning</description>
> </listheader>
> <item>
> <term> Backslash (\)</term>
> <description>Escape character.</description>
> </item>
> <item>
> <term> Comma (,)</term>
> <description>Precedes the Assembly name.</description>
> </item>
> <item>
> <term> Plus sign (+)</term>
> <description>Precedes a nested class.</description>
> </item>
> <item>
> <term> Period (.)</term>
> <description>Denotes namespace identifiers. </description>
> </item>
> </list>
> <block subset="none" type="note">
> <para>For example, the fully qualified name for a class might look like this: </para>
> <para>TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly </para>
> <para>If the namespace were TopNamespace.Sub+Namespace, then the string would
> have to precede the plus sign (+) with an escape character (\) to prevent
> it from being interpreted as a nesting separator. Reflection
> emits this string as follows:</para>
> <para>TopNamespace.Sub\+Namespace.ContainingClass+NestedClass,MyAssembly</para>
> <para>A "++" becomes "\+\+", and a "\" becomes "\\".</para>
> </block>
> <para>Type names are permitted to include trailing characters that denote
> additional information about the type, such as whether the type is a reference
> type, a pointer type or an array type. To retrieve the type name without these
> trailing characters, use <c>t.GetElementType().ToString()</c>, where <paramref name="t" />
> is the type.</para>
> <para>Spaces are significant in all type name components except the assembly
> name. In the assembly name, spaces before the ',' separator are significant, but
> spaces after the ',' separator are ignored.</para>
> </block>
> <block subset="none" type="usage">
> <para>The name returned by this method can be persisted and later used to load the <see cref="T:System.Type" />.
> To search for and load a <see cref="T:System.Type" />, use <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" /> either with the type name only or with
> the assembly qualified type name. <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" /> with the type name only will look for
> the <see cref="T:System.Type" />
> in the caller's assembly and then in the System assembly. <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" /> with the
> assembly qualified type name will look for the <see cref="T:System.Type" /> in any assembly.</para>
> </block>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="BaseType">
> <MemberSignature Language="ILASM" Value=".property class System.Type BaseType { public hidebysig virtual abstract specialname class System.Type get_BaseType() }" />
> <MemberSignature Language="C#" Value="public abstract Type BaseType { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets the base <see cref="T:System.Type" /> of the current <see cref="T:System.Type" /> .</para>
> </summary>
> <value>
> <para>A <see cref="T:System.Type" /> object
> representing the type from which the current <see cref="T:System.Type" /> directly inherits, or
> <see langword="null" />
> if the current <see cref="T:System.Type" /> represents the <see cref="T:System.Object" /> class.</para>
> </value>
> <remarks>
> <para>
> <block subset="none" type="behaviors"> This property is read-only.</block>
> </para>
> </remarks>
> <example>
> <para>The following example demonstrates using the <see cref="P:System.Type.BaseType" />
> property.</para>
> <code lang="C#">using System;
> class TestType {
> public static void Main() {
> Type t = typeof(int);
> Console.WriteLine("{0} inherits from {1}", t,t.BaseType);
> }
> }
> </code>
> <para>The output is</para>
> <para>
> <c>System.Int32
> inherits from System.ValueType</c>
> </para>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="TypeInitializer">
> <MemberSignature Language="ILASM" Value=".property class System.Reflection.ConstructorInfo TypeInitializer { public hidebysig specialname instance class System.Reflection.ConstructorInfo get_TypeInitializer() }" />
> <MemberSignature Language="C#" Value="public ConstructorInfo TypeInitializer { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.ConstructorInfo</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets the initializer for the<see langword=" " />type
> represented by the current instance.</para>
> </summary>
> <value>
> <para>A <see cref="T:System.Reflection.ConstructorInfo" /> containing the name of the static
> constructor for the type represented by the current instance</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>
> <block subset="none" type="note">Type initializers are available through <see cref="M:System.Type.GetMember(System.String)" />,
> <see cref="M:System.Type.GetMembers" />, <see cref="M:System.Type.FindMembers(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object)" />, and <see cref="M:System.Type.GetConstructors" />.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="Attributes">
> <MemberSignature Language="ILASM" Value=".property valuetype System.Reflection.TypeAttributes Attributes { public hidebysig specialname instance valuetype System.Reflection.TypeAttributes get_Attributes() }" />
> <MemberSignature Language="C#" Value="public TypeAttributes Attributes { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Reflection.TypeAttributes</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets the attributes associated with the type represented
> by the current instance.</para>
> </summary>
> <value>
> <para>A <see cref="T:System.Reflection.TypeAttributes" /> object representing the attribute set of the <see cref="T:System.Type" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNotPublic">
> <MemberSignature Language="ILASM" Value=".property bool IsNotPublic { public hidebysig specialname instance bool get_IsNotPublic() }" />
> <MemberSignature Language="C#" Value="public bool IsNotPublic { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the top-level <see cref="T:System.Type" /> is not declared public.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the
> top-level <see cref="T:System.Type" /> is not declared public; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsPublic">
> <MemberSignature Language="ILASM" Value=".property bool IsPublic { public hidebysig specialname instance bool get_IsPublic() }" />
> <MemberSignature Language="C#" Value="public bool IsPublic { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the top-level <see cref="T:System.Type" /> is declared public.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the top-level <see cref="T:System.Type" /> is declared public; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNestedPublic">
> <MemberSignature Language="ILASM" Value=".property bool IsNestedPublic { public hidebysig specialname instance bool get_IsNestedPublic() }" />
> <MemberSignature Language="C#" Value="public bool IsNestedPublic { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating
> whether the current <see cref="T:System.Type" /> is a public nested class.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if
> the class is nested and declared public; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNestedPrivate">
> <MemberSignature Language="ILASM" Value=".property bool IsNestedPrivate { public hidebysig specialname instance bool get_IsNestedPrivate() }" />
> <MemberSignature Language="C#" Value="public bool IsNestedPrivate { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is nested and declared private.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is nested and declared private; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNestedFamily">
> <MemberSignature Language="ILASM" Value=".property bool IsNestedFamily { public hidebysig specialname instance bool get_IsNestedFamily() }" />
> <MemberSignature Language="C#" Value="public bool IsNestedFamily { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is nested and visible only within its
> own family.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is nested
> and visible only within its own family; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para> This property is read-only.</para>
> <para>A <see cref="T:System.Type" /> object's family is defined as all objects of the exact
> same <see cref="T:System.Type" /> and of its subclasses.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNestedAssembly">
> <MemberSignature Language="ILASM" Value=".property bool IsNestedAssembly { public hidebysig specialname instance bool get_IsNestedAssembly() }" />
> <MemberSignature Language="C#" Value="public bool IsNestedAssembly { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is nested and visible only within its own assembly.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is nested and visible only within its own assembly; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para> This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNestedFamANDAssem">
> <MemberSignature Language="ILASM" Value=".property bool IsNestedFamANDAssem { public hidebysig specialname instance bool get_IsNestedFamANDAssem() }" />
> <MemberSignature Language="C#" Value="public bool IsNestedFamANDAssem { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is nested and visible only to classes that belong to both its own family and
> its own assembly.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is nested
> and visible only to classes that belong to both its own family and its own assembly; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para> This property is read-only.</para>
> <para>A <see cref="T:System.Type" /> object's family is defined as all objects of the exact
> same <see cref="T:System.Type" /> and of its subclasses.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsNestedFamORAssem">
> <MemberSignature Language="ILASM" Value=".property bool IsNestedFamORAssem { public hidebysig specialname instance bool get_IsNestedFamORAssem() }" />
> <MemberSignature Language="C#" Value="public bool IsNestedFamORAssem { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is nested and visible only to classes that belong to either its
> own family or to its own assembly.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is nested
> and visible only to classes that belong to its own family or to its own assembly; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para> This property is read-only.</para>
> <para>A <see cref="T:System.Type" /> object's family is defined as all objects of the exact
> same <see cref="T:System.Type" /> and of its subclasses.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsAutoLayout">
> <MemberSignature Language="ILASM" Value=".property bool IsAutoLayout { public hidebysig specialname instance bool get_IsAutoLayout() }" />
> <MemberSignature Language="C#" Value="public bool IsAutoLayout { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating
> whether the type layout attribute <see cref="F:System.Reflection.TypeAttributes.AutoLayout" /> is specified for the <see cref="T:System.Type" />.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the type
> layout attribute <see cref="F:System.Reflection.TypeAttributes.AutoLayout" /> is specified for the current <see cref="T:System.Type" />; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <block subset="none" type="note">
> <para>The <see cref="F:System.Reflection.TypeAttributes.AutoLayout" /> attribute specifies that the system
> selects the layout the objects of the type. Types marked with this attribute indicate that the
> system will choose the appropriate way to lay out the type; any layout information
> that may have been specified is ignored. </para>
> </block>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsLayoutSequential">
> <MemberSignature Language="ILASM" Value=".property bool IsLayoutSequential { public hidebysig specialname instance bool get_IsLayoutSequential() }" />
> <MemberSignature Language="C#" Value="public bool IsLayoutSequential { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating
> whether the type layout attribute <see cref="F:System.Reflection.TypeAttributes.SequentialLayout" /> is specified for the <see cref="T:System.Type" />.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the type layout attribute
> <see cref="F:System.Reflection.TypeAttributes.SequentialLayout" /> is specified for the current
> <see cref="T:System.Type" />; otherwise,
> <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <block subset="none" type="note">
> <para> The <see cref="F:System.Reflection.TypeAttributes.SequentialLayout" /> attribute is used
> to indicate that
> the system is to preserve field order as emitted, but otherwise the specific offsets are calculated based on the type
> of the field; these may be shifted by explicit offset, padding, or alignment information.</para>
> </block>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsExplicitLayout">
> <MemberSignature Language="ILASM" Value=".property bool IsExplicitLayout { public hidebysig specialname instance bool get_IsExplicitLayout() }" />
> <MemberSignature Language="C#" Value="public bool IsExplicitLayout { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating
> whether the type layout attribute <see cref="F:System.Reflection.TypeAttributes.ExplicitLayout" /> is specified for the <see cref="T:System.Type" />.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the type layout attribute <see cref="F:System.Reflection.TypeAttributes.ExplicitLayout" /> is specified for the current <see cref="T:System.Type" />; otherwise,
> <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <block subset="none" type="note">
> <para>Types marked with the <see cref="F:System.Reflection.TypeAttributes.ExplicitLayout" /> attribute cause
> the system to ignore field sequence and to use the explicit layout rules provided,
> in the form of field offsets, overall class size and alignment. </para>
> </block>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsClass">
> <MemberSignature Language="ILASM" Value=".property bool IsClass { public hidebysig specialname instance bool get_IsClass() }" />
> <MemberSignature Language="C#" Value="public bool IsClass { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value that indicates whether the current <see cref="T:System.Type" /> represents a class.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the current <see cref="T:System.Type" /> represents a class;
> otherwise <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>Note that this property returns <see langword="true" /> for
> <see cref="T:System.Type" /> instances
> representing <see cref="T:System.Enum" /> and <see cref="T:System.ValueType" /> .</para>
> </remarks>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsInterface">
> <MemberSignature Language="ILASM" Value=".property bool IsInterface { public hidebysig specialname instance bool get_IsInterface() }" />
> <MemberSignature Language="C#" Value="public bool IsInterface { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the current <see cref="T:System.Type" /> represents an interface.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the current <see cref="T:System.Type" /> represents an
> interface; otherwise <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsValueType">
> <MemberSignature Language="ILASM" Value=".property bool IsValueType { public hidebysig specialname instance bool get_IsValueType() }" />
> <MemberSignature Language="C#" Value="public bool IsValueType { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the current <see cref="T:System.Type" /> represents a value type.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the current <see cref="T:System.Type" /> represents a value
> type (structure); otherwise <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>This property returns true for enumerations, but not for
> the <see cref="T:System.Enum" /> type
> itself, which is a class. <block subset="none" type="note">For an example
> that demonstrates this behavior, see <see cref="P:System.Type.IsEnum" />
> .</block></para>
> </remarks>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsAbstract">
> <MemberSignature Language="ILASM" Value=".property bool IsAbstract { public hidebysig specialname instance bool get_IsAbstract() }" />
> <MemberSignature Language="C#" Value="public bool IsAbstract { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating
> whether the type represented by the current instance is abstract and is required to be overridden.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is abstract; otherwise, <see langword="false" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsSealed">
> <MemberSignature Language="ILASM" Value=".property bool IsSealed { public hidebysig specialname instance bool get_IsSealed() }" />
> <MemberSignature Language="C#" Value="public bool IsSealed { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is declared sealed.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is declared sealed; otherwise, <see langword="false" />. </para>
> </value>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsEnum">
> <MemberSignature Language="ILASM" Value=".property bool IsEnum { public hidebysig specialname instance bool get_IsEnum() }" />
> <MemberSignature Language="C#" Value="public bool IsEnum { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value that indicates whether the current <see cref="T:System.Type" /> represents an enumeration.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the current <see cref="T:System.Type" /> represents an
> enumeration; otherwise <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>This property returns <see langword="true" /> for an enumeration, but not
> for the <see cref="T:System.Enum" />
> type itself, which is a class.</para>
> </remarks>
> <example>
> <para>The following example demonstrates using the <see cref="P:System.Type.IsEnum" />
> property.</para>
> <code lang="C#">using System;
> public enum Color {
> Red, Blue, Green
> }
> class TestType {
> public static void Main() {
> Type colorType = typeof(Color);
> Type enumType = typeof(Enum);
> Console.WriteLine("Color is enum ? {0}", colorType.IsEnum);
> Console.WriteLine("Color is valueType? {0}", colorType.IsValueType);
> Console.WriteLine("Enum is enum Type? {0}", enumType.IsEnum);
> Console.WriteLine("Enum is value? {0}", enumType.IsValueType);
> }
> }
> </code>
> <para>The output is</para>
> <c>
> <para>Color is enum ? True</para>
> <para>Color is valueType? True</para>
> <para>Enum is enum Type? False</para>
> <para>Enum is value? False</para>
> </c>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsSpecialName">
> <MemberSignature Language="ILASM" Value=".property bool IsSpecialName { public hidebysig specialname instance bool get_IsSpecialName() }" />
> <MemberSignature Language="C#" Value="public bool IsSpecialName { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> has a name that requires special handling.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> has a name that requires special handling; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>
> <block subset="none" type="note">Names that begin with or contain an
> underscore character (_) are examples of type names that
> might require special treatment by some tools. </block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsImport">
> <MemberSignature Language="ILASM" Value=".property bool IsImport { public hidebysig specialname instance bool get_IsImport() }" />
> <MemberSignature Language="C#" Value="public bool IsImport { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Gets a <see cref="T:System.Boolean" /> value indicating whether the <see cref="T:System.Type" /> was imported from another class.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> was imported from another class; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsArray">
> <MemberSignature Language="ILASM" Value=".property bool IsArray { public hidebysig specialname instance bool get_IsArray() }" />
> <MemberSignature Language="C#" Value="public bool IsArray { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the current <see cref="T:System.Type" /> represents an array.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the current <see cref="T:System.Type" /> represents an
> array; otherwise <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>This property returns <see langword="true" /> for an array of objects, but
> not for the <see cref="T:System.Array" />
> type itself, which is a class.</para>
> </remarks>
> <example>
> <para>The following example demonstrates using the <see cref="P:System.Type.IsArray" />
> property.</para>
> <code lang="C#">using System;
> class TestType {
> public static void Main() {
> int [] array = {1,2,3,4};
> Type at = typeof(Array);
> Type t = array.GetType();
> Console.WriteLine("Type is {0}. IsArray? {1}", at, at.IsArray);
> Console.WriteLine("Type is {0}. IsArray? {1}", t, t.IsArray);
> }
> }
> </code>
> <para>The output is</para>
> <c>
> <para>Type is System.Array. IsArray? False</para>
> <para>Type is System.Int32[]. IsArray? True</para>
> </c>
> </example>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsByRef">
> <MemberSignature Language="ILASM" Value=".property bool IsByRef { public hidebysig specialname instance bool get_IsByRef() }" />
> <MemberSignature Language="C#" Value="public bool IsByRef { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value indicating whether the <see cref="T:System.Type" /> is
> passed by reference.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is passed by reference; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsPointer">
> <MemberSignature Language="ILASM" Value=".property bool IsPointer { public hidebysig specialname instance bool get_IsPointer() }" />
> <MemberSignature Language="C#" Value="public bool IsPointer { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value that indicates whether the current <see cref="T:System.Type" /> represents a pointer.</para>
> </summary>
> <value>
> <para>This property is read-only.</para>
> <para>
> <see langword="true" /> if the current <see cref="T:System.Type" /> represents a
> pointer; otherwise <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>0</Excluded>
> </Member>
> <Member MemberName="IsPrimitive">
> <MemberSignature Language="ILASM" Value=".property bool IsPrimitive { public hidebysig specialname instance bool get_IsPrimitive() }" />
> <MemberSignature Language="C#" Value="public bool IsPrimitive { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value indicating whether the current <see cref="T:System.Type" /> is one of the primitive types.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is one of the primitive types; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>The primitive types are <see cref="T:System.Boolean" />, <see cref="T:System.Byte" />, <see cref="T:System.SByte" />, <see cref="T:System.Int16" />, <see cref="T:System.UInt16" />, <see cref="T:System.Int32" />, <see cref="T:System.UInt32" />, <see cref="T:System.Int64" />, <see cref="T:System.UInt64" />, <see cref="T:System.Char" />, <see cref="T:System.Double" />, and <see cref="T:System.Single" />.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="HasElementType">
> <MemberSignature Language="ILASM" Value=".property bool HasElementType { public hidebysig specialname instance bool get_HasElementType() }" />
> <MemberSignature Language="C#" Value="public bool HasElementType { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value indicating whether the type represented by the
> current instance encompasses or refers
> to another type; that is, whether the current <see cref="T:System.Type" /> is an array, a pointer, or is passed by reference.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is an array, a pointer, or is passed by reference; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>
> <block subset="none" type="note">For example, <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" />("<see cref="T:System.Int32" /> []").HasElementType returns
> <see langword="true" />, but <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)" />("<see cref="T:System.Int32" /> ").HasElementType returns
> <see langword="false" />. <see cref="P:System.Type.HasElementType" /> also returns
> <see langword="true" /> for "Int32*" and "Int32&".</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="IsMarshalByRef">
> <MemberSignature Language="ILASM" Value=".property bool IsMarshalByRef { public hidebysig specialname instance bool get_IsMarshalByRef() }" />
> <MemberSignature Language="C#" Value="public bool IsMarshalByRef { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Boolean</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para>Gets a <see cref="T:System.Boolean" /> value indicating whether the current type is marshaled by reference.</para>
> </summary>
> <value>
> <para>
> <see langword="true" /> if the <see cref="T:System.Type" /> is marshaled by reference; otherwise, <see langword="false" />. </para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> <Member MemberName="UnderlyingSystemType">
> <MemberSignature Language="ILASM" Value=".property class System.Type UnderlyingSystemType { public hidebysig virtual abstract specialname class System.Type get_UnderlyingSystemType() }" />
> <MemberSignature Language="C#" Value="public abstract Type UnderlyingSystemType { get; }" />
> <MemberType>Property</MemberType>
> <ReturnValue>
> <ReturnType>System.Type</ReturnType>
> </ReturnValue>
> <Parameters />
> <Docs>
> <summary>
> <para> Returns the system-supplied type
> that represents the current type.</para>
> </summary>
> <value>
> <para>The underlying system type for the <see cref="T:System.Type" />.</para>
> </value>
> <remarks>
> <para>This property is read-only.</para>
> <para>
> <block subset="none" type="behaviors">As described
> above.</block>
> </para>
> </remarks>
> </Docs>
> <Excluded>1</Excluded>
> <ExcludedLibrary>Reflection</ExcludedLibrary>
> </Member>
> </Members>
> <TypeExcluded>0</TypeExcluded>
> </Type>
--=-XAUNgAovMeMFgTAa+vou
Content-Disposition: attachment; filename=xsl.tar.gz
Content-Type: application/x-gzip; name=xsl.tar.gz
Content-Transfer-Encoding: base64
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
AM==
--=-XAUNgAovMeMFgTAa+vou--