Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

CounterCreationDataCollection::AddRange Method (CounterCreationDataCollection^)

 

Adds the specified collection of CounterCreationData instances to the collection.

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

public:
void AddRange(
	CounterCreationDataCollection^ value
)

Parameters

value
Type: System.Diagnostics::CounterCreationDataCollection^

A collection of CounterCreationData instances to append to the existing collection.

Exception Condition
ArgumentNullException

value is null.

The following example demonstrates how to use the AddRange(CounterCreationDataCollection^) method overload to add CounterCreationData objects from one CounterCreationDataCollection to another CounterCreationDataCollection.

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
int main()
{
   PerformanceCounter^ myCounter;
   try
   {
      String^ myCategoryName;
      int numberOfCounters;
      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 );
      Console::Write( "Enter the category Name : " );
      myCategoryName = Console::ReadLine();

      // Check if the category already exists or not.
      if (  !PerformanceCounterCategory::Exists( myCategoryName ) )
      {
         CounterCreationDataCollection^ myNewCounterCollection = gcnew CounterCreationDataCollection;

         // Add the 'CounterCreationDataCollection' to 'CounterCreationDataCollection' Object*.
         myNewCounterCollection->AddRange( myCounterCollection );
         PerformanceCounterCategory::Create( myCategoryName, "Sample Category", myNewCounterCollection );
         for ( int i = 0; i < numberOfCounters; i++ )
         {
            myCounter = gcnew PerformanceCounter( myCategoryName,myCounterCreationData[ i ]->CounterName,"",false );

         }
         Console::WriteLine( "The list of counters in CounterCollection are: " );
         for ( int i = 0; i < myNewCounterCollection->Count; i++ )
            Console::WriteLine( "Counter {0} is '{1}'", i + 1, myNewCounterCollection[ i ]->CounterName );
      }
      else
      {
         Console::WriteLine( "The category already exists" );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}.", e->Message );
   }
}

.NET Framework
Available since 1.1
Return to top
Show:
© 2017 Microsoft