<Type Name="Attribute" FullName="System.Attribute" FullNameSP="System_Attribute" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public abstract serializable Attribute extends System.Object" />
  <TypeSignature Language="C#" Value="public abstract class Attribute : System.Runtime.InteropServices._Attribute" />
  <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>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Runtime.InteropServices._Attribute</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
    </Attribute>
    <Attribute>
      <AttributeName>System.AttributeUsage(System.AttributeTargets.All)</AttributeName>
    </Attribute>
  </Attributes>
  <Docs>
    <summary>
      <para> Serves as the base class for custom attributes. </para>
    </summary>
    <remarks>
      <para>All attributes, whether built-in or user-defined, derive
      directly or indirectly from <see cref="T:System.Attribute" />. Attributes inherit certain default behaviors: the
      attribute might be associated with any target element (see <see cref="T:System.AttributeTargets" />); might
      or might not be inherited by a derived element; and multiple instances might or might
      not be allowed on the same target element. These behaviors are specified using
      <see cref="T:System.AttributeUsageAttribute" />.</para>
      <para>
        <block subset="none" type="note">
      An attribute is an annotation that can be placed on an element of source code
      and used to store application-specific information at compile time. This
      information is stored in the metadata and can be accessed either during
      application execution, through a process known as reflection, or when another
      tool reads the metadata. Attributes might change the behavior of the application
      during execution, provide transaction information about an object, or convey
      organizational information to a designer.
      </block>
      </para>
      <para> The CLI predefines some attribute types and
      uses them to control runtime behavior. Some languages predefine attribute types
      to represent language features not directly represented in the Common Language
      Specification (CLS). User-defined attribute classes, inheriting from <see cref="T:System.Attribute" />, can also be
      created. The definition of such a class includes the name of the attribute, its
      default behavior, and the information to be stored. </para>
    </remarks>
    <example>
      <para> The following
      example creates and assigns multiple custom attributes to a class. The attribute contains the
      name of the programmer and the version number of the class.</para>
      <code lang="C#">using System;

[AttributeUsage(AttributeTargets.Class|
                AttributeTargets.Struct,
                AllowMultiple=true)]
public class Author : Attribute
{
   string authorName;
   public double verSion;

   public Author(string name) 
   {
      authorName = name;
      verSion = 1.0; 
   }

   public string getName() 
   {
      return authorName; 
   }
}

[Author("Some Author")]
class FirstClass 
{
   /*...*/ 
}

class SecondClass  // no Author attribute
{
   /*...*/ 
}

[Author("Some Author"), 
       Author("Some Other Author", verSion=1.1)]
class ThirdClass 
{ 
   /*...*/ 
}

class AuthorInfo 
{
   public static void Main() 
   {
      PrintAuthorInfo(typeof(FirstClass));
      PrintAuthorInfo(typeof(SecondClass));
      PrintAuthorInfo(typeof(ThirdClass));
   }
   public static void PrintAuthorInfo(Type type) 
   {
      Console.WriteLine("Author information for {0}",
                        type);
      Attribute[] attributeArray =
          Attribute.GetCustomAttributes(type);
      foreach(Attribute attrib in attributeArray) 
      {
         if (attrib is Author) 
         {
            Author author = (Author)attrib;
            Console.WriteLine("   {0}, version {1:f}",
                              author.getName(),
                              author.verSion);
         }
      }
      Console.WriteLine();
   }
}
      </code>
      <para>The output is</para>
      <c>
        <para>Author information for FirstClass</para>
        <para> Some Author, version 1.00</para>
        <para>Author information for SecondClass</para>
        <para>Author information for ThirdClass</para>
        <para> Some Author, version 1.00</para>
        <para> Some Other Author, version 1.10</para>
      </c>
    </example>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()" />
      <MemberSignature Language="C#" Value="protected Attribute ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>
          <para> Constructs a new instance of the <see cref="T:System.Attribute" />
class.</para>
        </summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)" />
      <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">The <see cref="T:System.Object" /> to compare to the current instance.</param>
        <param name="obj">To be added.</param>
        <summary>
          <para>Determines whether the current instance and the
      specified <see cref="T:System.Object" /> represent the same type and
      value.</para>
        </summary>
        <returns>
          <para>A <see cref="T:System.Boolean" qualify="true" /> where <see langword="true" /> indicates <paramref name="obj" />
represents the same type and value as the current instance. If <paramref name="obj" /> is a null reference or is not an instance of
<see cref="T:System.Attribute" />, returns <see langword="false" />.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>This method overrides <see cref="M:System.Object.Equals(System.Object)" qualify="true" />.</para>
          </block>
        </remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.Assembly element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.Assembly element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Assembly" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified assembly.</para>
        </summary>
        <returns>
          <para> The single instance of <see cref="T:System.Attribute" /> of type <paramref name="attributeType" /> that is applied to <paramref name="element." /> Returns <see langword="null " /> if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="note">If multiple instances of <paramref name="attributeType" /> can be
   applied to <paramref name="element" />, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
        <exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.MemberInfo element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.MemberInfo element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo" /> that describes a type member.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified member.</para>
        </summary>
        <returns>
          <para> The single instance of <see cref="T:System.Attribute" /> of type <paramref name="attributeType" /> that is applied to <paramref name="element." /> Returns <see langword="null " /> if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="note">If multiple instances of <paramref name="attributeType" /> can be
   applied to <paramref name="element" />, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
        <exception cref="T:System.NotSupportedException">
          <paramref name="element" /> does not represent a constructor, method, property, event, type, or field member. </exception>
        <exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.Module element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.Module element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Module" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified module.</para>
        </summary>
        <returns>
          <para> The single instance of <see cref="T:System.Attribute" /> of type <paramref name="attributeType" /> that is applied to <paramref name="element." /> Returns <see langword="null " /> if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="note">If multiple instances of <paramref name="attributeType" /> can be
   applied to <paramref name="element" />, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
        <exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.ParameterInfo element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.ParameterInfo element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.ParameterInfo" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified parameter.</para>
        </summary>
        <returns>
          <para> The single instance of <see cref="T:System.Attribute" /> of type <paramref name="attributeType" /> that is applied to <paramref name="element." /> Returns <see langword="null " /> if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="note">If multiple instances of <paramref name="attributeType" /> can be
   applied to <paramref name="element" />, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)" />.</block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
        <exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.Assembly element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.MemberInfo element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.Module element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttribute">
      <MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute (System.Reflection.ParameterInfo element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Assembly element)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Assembly element);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Assembly" /> instance.</param>
        <summary>
          <para> Returns an array of all
      custom attributes in the metadata for the specified assembly.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Attribute" /> array containing
   all custom attributes that are applied to <paramref name="element." />
   The
   array includes any inherited custom attributes. Returns
   an empty array if no custom attributes were found in the metadata for
<paramref name="element" /> 
.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> is <see langword="null" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.MemberInfo element)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.MemberInfo element);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
      </Parameters>
      <Docs>
        <param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo" /> that describes a type member.</param>
        <summary>
          <para> Returns an array of all
      custom attributes in the metadata for the specified member.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Attribute" /> array containing
   all custom attributes that are applied to <paramref name="element." /> The array includes custom attributes that are inherited by
<paramref name="element" />, if any. Returns 
   an empty array if no custom attributes were found in the metadata for
<paramref name="element" /> 
.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> is <see langword="null" />.</exception>
        <exception cref="T:System.NotSupportedException">
          <paramref name="element" /> does not represent a constructor, method, property, event, type, or field member. </exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Module element)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Module element);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Module" /> instance.</param>
        <summary>
          <para> Returns an array of all
      custom attributes in the metadata for the specified module.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Attribute" /> array containing
   all custom attributes that are applied to <paramref name="element." />
   The array includes any inherited custom attributes. Returns
   an empty array if no custom attributes were found in the metadata for
<paramref name="element" /> 
.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> is <see langword="null" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.ParameterInfo element)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.ParameterInfo element);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.ParameterInfo" /> instance.</param>
        <summary>
          <para> Returns an array of all
      custom attributes in the metadata for the specified parameter.</para>
        </summary>
        <returns>
          <para> A <see cref="T:System.Attribute" /> array containing
   all custom attributes that are applied to <paramref name="element." /> The array includes any inherited custom
   attributes. Returns
   an empty array if no custom attributes were found in the metadata for
<paramref name="element" /> 
.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> is <see langword="null" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Assembly element, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Assembly element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Assembly element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Assembly" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified assembly.</para>
        </summary>
        <returns>
          <para> An array of type <paramref name="attributeType" /> containing the instances that are applied to <paramref name="element." /> The array includes any inherited instances 
   of <paramref name="attributeType" />. Returns an empty array if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="type" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.MemberInfo element, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.MemberInfo element, class System.Type type)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.MemberInfo element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo" /> that describes a type member.</param>
        <param name="type">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <param name="attributeType">To be added.</param>
        <summary>
          <para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified member.</para>
        </summary>
        <returns>
          <para> An array of type <paramref name="type" /> containing the instances that are applied to <paramref name="element." /> The array includes instances
   of <paramref name="type" /> that are inherited by
<paramref name="element" />, if any. Returns an empty array if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="type" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="type" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
        <exception cref="T:System.NotSupportedException">
          <paramref name="element" /> does not represent a constructor, method, property, event, type, or field member. </exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Module element, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Module element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Module element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Module" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified module.</para>
        </summary>
        <returns>
          <para> An array of type <paramref name="attributeType" /> containing the instances that are applied to <paramref name="element." /> The array includes any inherited instances
   of <paramref name="attributeType" />. Returns an empty array if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="type" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.ParameterInfo element, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.ParameterInfo element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.ParameterInfo element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.ParameterInfo" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified parameter.</para>
        </summary>
        <returns>
          <para> An array of type <paramref name="attributeType" /> containing the instances that are applied to <paramref name="element." /> The array includes any inherited instances
   of <paramref name="attributeType" />. Returns an empty array if the
   specified attribute was not found.
   </para>
        </returns>
        <remarks>
          <para>If <paramref name="element" /> represents a
   method parameter, the array returned by <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)" />
   includes any <paramref name="attributeType" /> instances
   for the parameter <paramref name="element" /> in the base methods.</para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not a type derived from <see cref="T:System.Attribute" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Assembly element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.MemberInfo element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.Module element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetCustomAttributes">
      <MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes (System.Reflection.ParameterInfo element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Attribute[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </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 the current 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="IsDefaultAttribute">
      <MemberSignature Language="C#" Value="public virtual bool IsDefaultAttribute ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.Assembly element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.Assembly element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Assembly" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para>Returns a <see cref="T:System.Boolean" /> value indicating whether a specified custom attribute is present in the metadata for the
   specified assembly.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if a custom attribute of type 
<paramref name="attributeType" /> is applied to <paramref name="element" />; otherwise, 
<see langword="false" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not derived from <see cref="T:System.Attribute" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.MemberInfo element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.MemberInfo element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo" /> that describes a type member.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para>Returns a <see cref="T:System.Boolean" /> value indicating whether a specified custom
   attribute is present in the metadata for the specified member.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if a custom attribute of type
<paramref name="attributeType" /> is applied to <paramref name="element" /> either directly or through inheritance; otherwise, 
<see langword="false" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not derived from <see cref="T:System.Attribute" />.</exception>
        <exception cref="T:System.NotSupportedException">
          <paramref name="element" /> is not a constructor, method, property, event, type, or field. </exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.Module element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.Module element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.Module" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para> Returns a <see cref="T:System.Boolean" /> value indicating whether a specified custom attribute is present in
   the metadata for the specified module.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if a custom attribute of type
<paramref name="attributeType" /> is applied to <paramref name="element" /> 
; otherwise, <see langword="false" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not derived from <see cref="T:System.Attribute" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.ParameterInfo element, class System.Type attributeType)" />
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.ParameterInfo element, Type attributeType);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
      </Parameters>
      <Docs>
        <param name="element">A <see cref="T:System.Reflection.ParameterInfo" /> instance.</param>
        <param name="attributeType">The <see cref="T:System.Type" /> of the custom attribute for which to check.</param>
        <summary>
          <para>Returns a <see cref="T:System.Boolean" /> value indicating whether a specified custom attribute is present in the
   metadata for the specified parameter.</para>
        </summary>
        <returns>
          <para>
            <see langword="true" /> if a custom attribute of type
<paramref name="attributeType" /> is applied to <paramref name="element" /> either directly or through 
   inheritance; otherwise, <see langword="false" />.</para>
        </returns>
        <remarks>To be added.</remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="element" /> or <paramref name="attributeType" /> is <see langword="null" />.</exception>
        <exception cref="T:System.ArgumentException">
          <paramref name="attributeType" /> is not derived from <see cref="T:System.Attribute" />.</exception>
      </Docs>
      <Excluded>1</Excluded>
      <ExcludedLibrary>Reflection</ExcludedLibrary>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.Assembly element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Assembly" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.MemberInfo element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.MemberInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.Module element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.Module" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="IsDefined">
      <MemberSignature Language="C#" Value="public static bool IsDefined (System.Reflection.ParameterInfo element, Type attributeType, bool inherit);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="element" Type="System.Reflection.ParameterInfo" />
        <Parameter Name="attributeType" Type="System.Type" />
        <Parameter Name="inherit" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="element">To be added.</param>
        <param name="attributeType">To be added.</param>
        <param name="inherit">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Match">
      <MemberSignature Language="C#" Value="public virtual bool Match (object obj);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.Runtime.InteropServices._Attribute.GetIDsOfNames">
      <MemberSignature Language="C#" Value="void _Attribute.GetIDsOfNames (ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" />
        <Parameter Name="rgszNames" Type="System.IntPtr" />
        <Parameter Name="cNames" Type="System.UInt32" />
        <Parameter Name="lcid" Type="System.UInt32" />
        <Parameter Name="rgDispId" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="riid">To be added.</param>
        <param name="rgszNames">To be added.</param>
        <param name="cNames">To be added.</param>
        <param name="lcid">To be added.</param>
        <param name="rgDispId">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.Runtime.InteropServices._Attribute.GetTypeInfo">
      <MemberSignature Language="C#" Value="void _Attribute.GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="iTInfo" Type="System.UInt32" />
        <Parameter Name="lcid" Type="System.UInt32" />
        <Parameter Name="ppTInfo" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="iTInfo">To be added.</param>
        <param name="lcid">To be added.</param>
        <param name="ppTInfo">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.Runtime.InteropServices._Attribute.GetTypeInfoCount">
      <MemberSignature Language="C#" Value="void _Attribute.GetTypeInfoCount (out uint pcTInfo);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="pcTInfo" Type="System.UInt32&amp;" RefType="out" />
      </Parameters>
      <Docs>
        <param name="pcTInfo">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="System.Runtime.InteropServices._Attribute.Invoke">
      <MemberSignature Language="C#" Value="void _Attribute.Invoke (uint dispIdMember, ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="dispIdMember" Type="System.UInt32" />
        <Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" />
        <Parameter Name="lcid" Type="System.UInt32" />
        <Parameter Name="wFlags" Type="System.Int16" />
        <Parameter Name="pDispParams" Type="System.IntPtr" />
        <Parameter Name="pVarResult" Type="System.IntPtr" />
        <Parameter Name="pExcepInfo" Type="System.IntPtr" />
        <Parameter Name="puArgErr" Type="System.IntPtr" />
      </Parameters>
      <Docs>
        <param name="dispIdMember">To be added.</param>
        <param name="riid">To be added.</param>
        <param name="lcid">To be added.</param>
        <param name="wFlags">To be added.</param>
        <param name="pDispParams">To be added.</param>
        <param name="pVarResult">To be added.</param>
        <param name="pExcepInfo">To be added.</param>
        <param name="puArgErr">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="TypeId">
      <MemberSignature Language="C#" Value="public virtual object TypeId { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
