Assembly::GetCustomAttributes Method (Type^, Boolean)
Gets the custom attributes for this assembly as specified by type.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- attributeType
-
Type:
System::Type^
The type for which the custom attributes are to be returned.
- inherit
-
Type:
System::Boolean
This argument is ignored for objects of type Assembly.
Return Value
Type: array<System::Object^>^An array that contains the custom attributes for this assembly as specified by attributeType.
| Exception | Condition |
|---|---|
| ArgumentNullException | attributeType is null. |
| ArgumentException | attributeType is not a runtime type. |
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. |
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0