Attribute.IsDefined Method (Module, Type)
.NET Framework (current version)
Determines whether any custom attributes of a specified type are applied to a module. Parameters specify the module, and the type of the custom attribute to search for.
Assembly: mscorlib (in mscorlib.dll)
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.
Return Value
Type: System.Booleantrue if a custom attribute of type attributeType is applied to element; otherwise, false.
| Exception | Condition |
|---|---|
| ArgumentNullException | element or attributeType is null. |
| ArgumentException | attributeType is not derived from Attribute. |
The ancestors of element are not searched for custom attributes.
The following code example illustrates the use of IsDefined, 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. */
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Show: