Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
IsDefined Method (ParameterInfo, Type)

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.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

static bool IsDefined(
	ParameterInfo^ element, 
	Type^ attributeType


Type: System.Reflection::ParameterInfo

An object derived from the ParameterInfo class that describes a parameter of a member of a class.

Type: System::Type

The type, or a base type, of the custom attribute to search for.

Return Value

Type: System::Boolean
true if a custom attribute of type attributeType is applied to element; otherwise, false.


element or attributeType is nullptr.


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

      // Assign a ParamArray attribute to the parameter using the keyword. 
      void Method1(... array<String^>^args ){}


   ref class DemoClass
      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 );
                  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.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
© 2015 Microsoft