CounterCreationDataCollection::AddRange Method (CounterCreationDataCollection^)
.NET Framework (current version)
Adds the specified collection of CounterCreationData instances to the collection.
Assembly: System (in System.dll)
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
Available since 1.1
Show: