﻿<?xml version="1.0" encoding="utf-8"?><Type Name="CustomAttributeData" FullName="System.Reflection.CustomAttributeData"><TypeSignature Language="C#" Value="public class CustomAttributeData" /><TypeSignature Language="ILAsm" Value=".class public auto ansi serializable beforefieldinit CustomAttributeData extends System.Object" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Code that is being examined in the reflection-only context cannot be executed, so it is not always possible to examine custom attributes by creating instances of them and then examining their properties, using methods like <see cref="Overload:System.Attribute.GetCustomAttributes" />, <see cref="Overload:System.Reflection.MemberInfo.GetCustomAttributes" />, and so on. If the code for the attribute type itself is loaded into the reflection-only context, it cannot be executed. </para><para>The <see cref="T:System.Reflection.CustomAttributeData" /> class allows examination of custom attributes in the reflection-only context by providing an abstraction for attributes. The members of this class can be used to obtain the positional arguments and named arguments of the attribute. Use the <see cref="P:System.Reflection.CustomAttributeData.ConstructorArguments" /> property to get a list of <see cref="T:System.Reflection.CustomAttributeTypedArgument" /> structures that represent the positional arguments, and use the <see cref="P:System.Reflection.CustomAttributeData.NamedArguments" /> property to get a list of <see cref="T:System.Reflection.CustomAttributeNamedArgument" /> structures that represent the named arguments. </para><block subset="none" type="note"><para>The <see cref="T:System.Reflection.CustomAttributeNamedArgument" /> structure only provides information about the attribute property used to get and set the argument value. To obtain the type and value of the argument, use the <see cref="P:System.Reflection.CustomAttributeNamedArgument.TypedValue" /> property to obtain a <see cref="T:System.Reflection.CustomAttributeTypedArgument" /> structure.</para></block><para>When you have a <see cref="T:System.Reflection.CustomAttributeTypedArgument" /> structure for an argument, whether named or positional, use the <see cref="P:System.Reflection.CustomAttributeTypedArgument.ArgumentType" /> property to get the type and the <see cref="P:System.Reflection.CustomAttributeTypedArgument.Value" /> property to get the value. </para><block subset="none" type="note"><para>For an array argument, the <see cref="P:System.Reflection.CustomAttributeTypedArgument.Value" /> property returns a generic <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1" /> of <see cref="T:System.Reflection.CustomAttributeTypedArgument" /> objects. Each <see cref="T:System.Reflection.CustomAttributeTypedArgument" /> object in the collection represents the corresponding element of the array. </para></block><para><see cref="T:System.Reflection.CustomAttributeData" /> can be used in the execution context as well as in the reflection-only context. For example, you might want to avoid loading the assembly that contains the code for a custom attribute. Using the <see cref="T:System.Reflection.CustomAttributeData" /> class is different from using methods like <see cref="Overload:System.Attribute.GetCustomAttributes" />:</para><list type="bullet"><item><para>The properties and methods of <see cref="T:System.Reflection.CustomAttributeData" /> only provide you with the values that were specified for the attribute instance, not the semantics of the constructor. For example, a string argument of an attribute might be converted internally to some other representation, and returned in a canonical form; or a property might have side effects when the actual attribute code is executed.</para></item><item><para>The properties and methods of <see cref="T:System.Reflection.CustomAttributeData" /> do not allow you to retrieve the custom attributes inherited from base classes. </para></item></list><para>To create instances of the <see cref="T:System.Reflection.CustomAttributeData" /> class, use the static (Shared in Visual Basic) <see cref="Overload:System.Reflection.CustomAttributeData.GetCustomAttributes" /> factory methods.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides access to custom attribute data for assemblies, modules, types, members and parameters that are loaded into the reflection-only context.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected CustomAttributeData ();" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor is invoked by derived classes during the construction of <see cref="T:System.Reflection.CustomAttributeData" /> objects.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Reflection.CustomAttributeData" /> class.</para></summary></Docs></Member><Member MemberName="AttributeType"><MemberSignature Language="C#" Value="public Type AttributeType { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Type AttributeType" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Type</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the type of the attribute.</para></summary></Docs></Member><Member MemberName="Constructor"><MemberSignature Language="C#" Value="public virtual System.Reflection.ConstructorInfo Constructor { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Reflection.ConstructorInfo Constructor" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Reflection.ConstructorInfo</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If an attribute type has multiple constructors, this property returns only the particular constructor that would have initialized the attribute instance represented by the current <see cref="T:System.Reflection.CustomAttributeData" /> object.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a <see cref="T:System.Reflection.ConstructorInfo" /> object that represents the constructor that would have initialized the custom attribute.</para></summary></Docs></Member><Member MemberName="ConstructorArguments"><MemberSignature Language="C#" Value="public virtual System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeTypedArgument&gt; ConstructorArguments { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IList`1&lt;valuetype System.Reflection.CustomAttributeTypedArgument&gt; ConstructorArguments" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeTypedArgument&gt;</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method gets the positional arguments that were specified for the custom attribute instance without executing any of the custom attribute code. Thus, it can be used in the reflection-only context.</para><para>Use the <see cref="P:System.Reflection.CustomAttributeData.NamedArguments" /> method to get the named arguments specified for the attribute instance.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the list of positional arguments specified for the attribute instance represented by the <see cref="T:System.Reflection.CustomAttributeData" /> object.</para></summary></Docs></Member><Member MemberName="Equals"><MemberSignature Language="C#" Value="public override bool Equals (object obj);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="obj" Type="System.Object" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a value that indicates whether this instance is equal to a specified object.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if <paramref name="obj" /> is equal to the current instance; otherwise, false.</para></returns><param name="obj"><attribution license="cc4" from="Microsoft" modified="false" />An object to compare with this instance, or null.</param></Docs></Member><Member MemberName="GetCustomAttributes"><MemberSignature Language="C#" Value="public static System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt; GetCustomAttributes (System.Reflection.Assembly target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IList`1&lt;class System.Reflection.CustomAttributeData&gt; GetCustomAttributes(class System.Reflection.Assembly target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt;</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Reflection.Assembly" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides an alternative to the <see cref="Overload:System.Reflection.Assembly.GetCustomAttributes" /> method that can always be used in the Reflection-only context.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the target assembly.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A list of objects that represent data about the attributes that have been applied to the target assembly.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />The assembly whose custom attribute data is to be retrieved.</param></Docs></Member><Member MemberName="GetCustomAttributes"><MemberSignature Language="C#" Value="public static System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt; GetCustomAttributes (System.Reflection.MemberInfo target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IList`1&lt;class System.Reflection.CustomAttributeData&gt; GetCustomAttributes(class System.Reflection.MemberInfo target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt;</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Reflection.MemberInfo" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method overload gets custom attribute data for types, nested types, and type members, because the <see cref="T:System.Type" /> class and the classes in the <see cref="N:System.Reflection" /> namespace that represent type members all derive from <see cref="T:System.Reflection.MemberInfo" />. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the target member.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A list of objects that represent data about the attributes that have been applied to the target member.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />The member whose attribute data is to be retrieved.</param></Docs></Member><Member MemberName="GetCustomAttributes"><MemberSignature Language="C#" Value="public static System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt; GetCustomAttributes (System.Reflection.Module target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IList`1&lt;class System.Reflection.CustomAttributeData&gt; GetCustomAttributes(class System.Reflection.Module target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt;</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Reflection.Module" /></Parameters><Docs><remarks>To be added.</remarks><since version=".NET 2.0" /><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the target module.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A list of objects that represent data about the attributes that have been applied to the target module.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />The module whose custom attribute data is to be retrieved.</param></Docs></Member><Member MemberName="GetCustomAttributes"><MemberSignature Language="C#" Value="public static System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt; GetCustomAttributes (System.Reflection.ParameterInfo target);" /><MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IList`1&lt;class System.Reflection.CustomAttributeData&gt; GetCustomAttributes(class System.Reflection.ParameterInfo target) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt;</ReturnType></ReturnValue><Parameters><Parameter Name="target" Type="System.Reflection.ParameterInfo" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides an alternative to the <see cref="Overload:System.Reflection.ParameterInfo.GetCustomAttributes" /> method that can always be used in the Reflection-only context.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the target parameter.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A list of objects that represent data about the attributes that have been applied to the target parameter.</para></returns><param name="target"><attribution license="cc4" from="Microsoft" modified="false" />The parameter whose attribute data is to be retrieved.</param></Docs></Member><Member MemberName="GetHashCode"><MemberSignature Language="C#" Value="public override int GetHashCode ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="NamedArguments"><MemberSignature Language="C#" Value="public virtual System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeNamedArgument&gt; NamedArguments { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IList`1&lt;valuetype System.Reflection.CustomAttributeNamedArgument&gt; NamedArguments" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeNamedArgument&gt;</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method gets the named arguments that were specified for the custom attribute instance without executing any of the custom attribute code. Thus, it can be used in the Reflection-only context. </para><para>The list that is returned contains only the named arguments that were specified for the attribute instance.</para><para>Use the <see cref="P:System.Reflection.CustomAttributeData.ConstructorArguments" /> method to get the positional arguments that were specified for the attribute instance. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the list of named arguments specified for the attribute instance represented by the <see cref="T:System.Reflection.CustomAttributeData" /> object.</para></summary></Docs></Member><Member MemberName="ToString"><MemberSignature Language="C#" Value="public override string ToString ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The string value includes the attribute type, the attribute parameters, and the named parameters.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a string representation of the custom attribute.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A string value that represents the custom attribute.</para></returns></Docs></Member></Members></Type>