Attribute.GetCustomAttribute Method (Module, Type, Boolean)
Retrieves a custom attribute applied to a module. Parameters specify the module, the type of the custom attribute to search for, and an ignored search option.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
public static Attribute GetCustomAttribute( Module element, Type attributeType, bool inherit )
Parameters
- element
- Type: System.Reflection.Module
An object derived from the Module class that describes a portable executable file.
- attributeType
- Type: System.Type
The type, or a base type, of the custom attribute to search for.
- inherit
- Type: System.Boolean
This parameter is ignored, and does not affect the operation of this method.
Return Value
Type: System.AttributeA reference to the single custom attribute of type attributeType that is applied to element, or null if there is no such attribute.
| Exception | Condition |
|---|---|
| ArgumentNullException | element or attributeType is null. |
| ArgumentException | attributeType is not derived from Attribute. |
| AmbiguousMatchException | More than one of the requested attributes was found. |
The following code example illustrates the use of the GetCustomAttribute method taking a Module as a parameter.
using System; using System.Diagnostics; // Add the Debuggable attribute to the module. [module:Debuggable(true, false)] namespace IsDef2CS { public class DemoClass { static void Main(string[] args) { // Get the class type to access its metadata. Type clsType = typeof(DemoClass); // See if the Debuggable attribute is defined for this module. bool isDef = Attribute.IsDefined(clsType.Module, typeof(DebuggableAttribute)); // Display the result. Console.WriteLine("The Debuggable attribute {0} " + "defined for Module {1}.", isDef ? "is" : "is not", clsType.Module.Name); // If the attribute is defined, display the JIT settings. if (isDef) { // Retrieve the attribute itself. DebuggableAttribute dbgAttr = (DebuggableAttribute) Attribute.GetCustomAttribute(clsType.Module, typeof(DebuggableAttribute)); if (dbgAttr != null) { Console.WriteLine("JITTrackingEnabled is {0}.", dbgAttr.IsJITTrackingEnabled); Console.WriteLine("JITOptimizerDisabled is {0}.", dbgAttr.IsJITOptimizerDisabled); } else Console.WriteLine("The Debuggable attribute " + "could not be retrieved."); } } } } /* * Output: * The Debuggable attribute is defined for Module IsDef2CS.exe. * JITTrackingEnabled is True. * JITOptimizerDisabled is False. */
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.