CounterCreationDataCollection::Insert Method (Int32, CounterCreationData^)

 

Inserts a CounterCreationData object into the collection, at the specified index.

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

public:
void Insert(
	int index,
	CounterCreationData^ value
)

Parameters

index
Type: System::Int32

The zero-based index of the location at which the CounterCreationData is to be inserted.

value
Type: System.Diagnostics::CounterCreationData^

The CounterCreationData to insert into the collection.

Exception Condition
ArgumentNullException

value is null.

ArgumentException

value is not a CounterCreationData object.

ArgumentOutOfRangeException

index is less than 0.

-or-

index is greater than the number of items in the collection.

The following example demonstrates how to use the Insert method to insert a CounterCreationData object into a CounterCreationDataCollection.

String^ myCategoryName;
int numberOfCounters;
Console::Write( "Enter the category Name : " );
myCategoryName = Console::ReadLine();
// Check if the category already exists or not.
if (  !PerformanceCounterCategory::Exists( myCategoryName ) )
{
   Console::Write( "Enter the number of counters : " );
   numberOfCounters = Int32::Parse( Console::ReadLine() );
   array<CounterCreationData^>^ myCounterCreationData =
      gcnew array<CounterCreationData^>(numberOfCounters);

   for ( int i = 0; i < numberOfCounters; i++ )
   {
      Console::Write( "Enter the counter name for {0} counter ", i );
      myCounterCreationData[ i ] = gcnew CounterCreationData;
      myCounterCreationData[ i ]->CounterName = Console::ReadLine();
   }
   CounterCreationDataCollection^ myCounterCollection =
      gcnew CounterCreationDataCollection( myCounterCreationData );
   CounterCreationData^ myInsertCounterCreationData = gcnew CounterCreationData(
      "CounterInsert","",PerformanceCounterType::NumberOfItems32 );
   // Insert an instance of 'CounterCreationData' in the 'CounterCreationDataCollection'.
   myCounterCollection->Insert( myCounterCollection->Count - 1,
      myInsertCounterCreationData );
   Console::WriteLine( "'{0}' counter is inserted into 'CounterCreationDataCollection'",
      myInsertCounterCreationData->CounterName );
   // Create the category.
   PerformanceCounterCategory::Create( myCategoryName, "Sample Category",
      myCounterCollection );

   for ( int i = 0; i < numberOfCounters; i++ )
   {
      myCounter = gcnew PerformanceCounter( myCategoryName,
         myCounterCreationData[ i ]->CounterName, "", false );
   }
   Console::WriteLine( "The index of '{0}' counter is {1}",
      myInsertCounterCreationData->CounterName, myCounterCollection->IndexOf( myInsertCounterCreationData ) );
}
else
{
   Console::WriteLine( "The category already exists" );
}

.NET Framework
Available since 1.1
Return to top
Show: