Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
Previous Versions
.NET Framework 1.1
.NET Framework
Reference
System.Reflection
Assembly Class
Methods
 GetCustomAttributes Method (Type, B...
.NET Framework Class Library
Assembly.GetCustomAttributes Method (Type, Boolean)

Gets the custom attributes for this assembly as specified by type.

[Visual Basic]
Overloads Public Overridable Function GetCustomAttributes( _
   ByVal attributeType As Type, _
   ByVal inherit As Boolean _
) As Object() Implements ICustomAttributeProvider.GetCustomAttributes
[C#]
public virtual object[] GetCustomAttributes(
 Type attributeType,
 bool inherit
);
[C++]
public: virtual Object* GetCustomAttributes(
 Type* attributeType,
 bool inherit
)  __gc[];
[JScript]
public function GetCustomAttributes(
   attributeType : Type,
 inherit : Boolean
) : Object[];

Parameters

attributeType
The Type for which the custom attributes are to be returned.
inherit
This argument is ignored for objects of type Assembly.

Return Value

An array of type Object containing the custom attributes for this assembly as specified by attributeType.

Implements

ICustomAttributeProvider.GetCustomAttributes

Exceptions

Exception Type Condition
ArgumentNullException attributeType is a null reference (Nothing in Visual Basic).
ArgumentException attributeType is not a runtime type.

Remarks

This method implements the corresponding ICustomAttributeProvider interface method. Therefore, the inherit parameter must be specified even though it is ignored.

A pseudo-attribute indicates bits of the core metadata that must be set when the attribute is present. Unlike a custom attribute that extends the metadata for a type and is saved along with the type, a pseudo-attribute modifies the metadata for the type and then is discarded. Some of the resulting bits cannot be accessed using existing reflection APIs.

The following table summarizes the different pseudo-attributes and the accessors for the bits that are available in reflection.

Pseudo-Attribute Metadata Bits Reflection Accessor
DllImportAttribute CorPInvokeMap

DLL name

No accessor for PInvokeMap for ordinary method/global method attributes.

No accessor for DLL name.

GuidAttribute Stored as a real custom attribute. Accessed as a real custom attribute.
ComImportAttribute CorTypeAttr.tdImport Type.Attributes.Import
SerializableAttribute CorTypeAttr.tdSerializable Type.Attributes.Serializable
NonSerializedAttribute CorFieldAttr.fdNotSerialized FieldInfo.Attributes.NotSerialized
MethodImplAttribute CorMethodImpl MethodInfo.GetMethodImplementationFlags()

ConstructorInfo.GetMethodImplementationFlags()

MarshalAsAttribute Various bits. No accessor.
PreserveSigAttribute CorMethodImpl.miOLE MethodInfo.GetMethodImplementationFlags().OLE

ConstructorInfo.GetMethodImplementationFlags().OLE

InAttribute CorParamAttr.pdIn ParameterInfo.Attributes.In
OutAttribute CorParamAttr.pdOut ParameterInfo.Attributes.Out
StructLayoutAttribute CorTypeAttr.tdLayoutSequential

CorTypeAttr.tdExplicitLayout

CorTypeAttr.tdAnsiClass

CorTypeAttr.tdUnicodeClass

CorTypeAttr.tdAutoClass

Class packing.

Type.Attributes.LayoutSequential

Type.Attributes.ExplicitLayout

Type.Attributes.AnsiClass

Type.Attributes.UnicodeClass

Type.Attributes.AutoClass

No accessor.

FieldOffsetAttribute Field offset. No accessor.
AssemblyLoadAttribute CorAssemblyFlags No accessor or enumerator.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

Assembly Class | Assembly Members | System.Reflection Namespace | Assembly.GetCustomAttributes Overload List

© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker