PropertyInfo::GetIndexParameters Method ()
When overridden in a derived class, returns an array of all the index parameters for the property.
Assembly: mscorlib (in mscorlib.dll)
Return Value
Type: array<System.Reflection::ParameterInfo^>^An array of type ParameterInfo containing the parameters for the indexes. If the property is not indexed, the array has 0 (zero) elements.
Implements
_PropertyInfo::GetIndexParameters()Extract any required parameter information from the returned array.
To use the GetIndexParameters method, first get the class Type. From the Type, get the PropertyInfo. From the PropertyInfo, use the GetIndexParameters method.
The following example displays the index parameters of the specified property.
using namespace System; using namespace System::Reflection; // A class that contains some properties. public ref class MyProperty { private: // Define a simple string property. String^ caption; public: property String^ Caption { String^ get() { return caption; } void set( String^ value ) { if ( caption != value ) { caption = value; } } } private: // A very limited indexer that gets or sets one of four // strings. array<String^>^strings; public: MyProperty() { array<String^>^temp0 = {"abc","def","ghi","jkl"}; strings = temp0; } property String^ Item [int] { String^ get( int Index ) { return strings[ Index ]; } void set( int Index, String^ value ) { strings[ Index ] = value; } } }; int main() { // Get the type and PropertyInfo. Type^ t = Type::GetType( "MyProperty" ); PropertyInfo^ pi = t->GetProperty( "Caption" ); // Get the public GetIndexParameters method. array<ParameterInfo^>^parms = pi->GetIndexParameters(); Console::WriteLine( "\n{0}.{1} has {2} parameters.", t->FullName, pi->Name, parms->GetLength( 0 ) ); // Display a property that has parameters. pi = t->GetProperty( "Item" ); parms = pi->GetIndexParameters(); Console::WriteLine( "{0}.{1} has {2} parameters.", t->FullName, pi->Name, parms->GetLength( 0 ) ); for ( int i = 0; i < parms->GetLength( 0 ); i++ ) { Console::WriteLine( " Parameter: {0}", parms[ i ]->Name ); } return 0; } /* This example produces the following output: MyProperty.Caption has 0 parameters. MyProperty.Item has 1 parameters. Parameter: Index */
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess.
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1