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
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