Attribute::IsDefined Method (ParameterInfo^, Type^)
Determines whether any custom attributes are applied to a method parameter. Parameters specify the method parameter, and the type of the custom attribute to search for.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- element
-
Type:
System.Reflection::ParameterInfo^
An object derived from the ParameterInfo class that describes a parameter of a member of a class.
- 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 searched for custom attributes.
The following code example illustrates the use of IsDefined, taking a ParameterInfo as a parameter.
using namespace System; using namespace System::Reflection; namespace IsDef5CS { public ref class TestClass { public: // Assign a ParamArray attribute to the parameter using the keyword. void Method1(... array<String^>^args ){} }; ref class DemoClass { public: static void Main() { // Get the class type to access its metadata. Type^ clsType = TestClass::typeid; // Get the MethodInfo object for Method1. MethodInfo^ mInfo = clsType->GetMethod( "Method1" ); // Get the ParameterInfo array for the method parameters. array<ParameterInfo^>^pInfo = mInfo->GetParameters(); if ( pInfo != nullptr ) { // See if the ParamArray attribute is defined. bool isDef = Attribute::IsDefined( pInfo[ 0 ], ParamArrayAttribute::typeid ); // Display the result. Console::WriteLine( "The ParamArray attribute {0} defined for " "parameter {1} of method {2}.", isDef ? (String^)"is" : "is not", pInfo[ 0 ]->Name, mInfo->Name ); } else Console::WriteLine( "The parameters information could " "not be retrieved for method {0}.", mInfo->Name ); } }; } /* * Output: * The ParamArray attribute is defined for parameter args of method Method1. */
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0