CounterCreationDataCollection.Remove(CounterCreationData) 方法

定义

从集合中移除 CounterCreationData 对象。

public:
 virtual void Remove(System::Diagnostics::CounterCreationData ^ value);
public virtual void Remove (System.Diagnostics.CounterCreationData value);
abstract member Remove : System.Diagnostics.CounterCreationData -> unit
override this.Remove : System.Diagnostics.CounterCreationData -> unit
Public Overridable Sub Remove (value As CounterCreationData)

参数

value
CounterCreationData

要从该集合中移除的 CounterCreationData

例外

valuenull

value 不是 CounterCreationData 对象。

- 或 -

集合中不存在 value

示例

下面的示例演示如何使用 Remove 方法从 CounterCreationDataCollection中删除 CounterCreationData 对象。

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;
   // Add the 'CounterCreationData[]' to 'CounterCollection'.
   myCounterCollection->AddRange( myCounterCreationData );

   PerformanceCounterCategory::Create( myCategoryName,
      "Sample Category", myCounterCollection );

   for ( int i = 0; i < numberOfCounters; i++ )
   {
      myCounter = gcnew PerformanceCounter( myCategoryName,
         myCounterCreationData[ i ]->CounterName, "", false );
   }
   if ( myCounterCreationData->Length > 0 )
   {
      if ( myCounterCollection->Contains( myCounterCreationData[ 0 ] ) )
      {
         myCounterCollection->Remove( myCounterCreationData[ 0 ] );
         Console::WriteLine( "'{0}' counter is removed from the" +
           " CounterCreationDataCollection", myCounterCreationData[ 0 ]->CounterName );
      }
   }
   else
   {
      Console::WriteLine( "The counters does not exist" );
   }
}
else
{
   Console::WriteLine( "The category already exists" );
}
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 = int.Parse(Console.ReadLine());
    CounterCreationData[] myCounterCreationData =
       new CounterCreationData[numberOfCounters];
    for (int i = 0; i < numberOfCounters; i++)
    {
        Console.Write("Enter the counter name for {0} counter : ", i);
        myCounterCreationData[i] = new CounterCreationData();
        myCounterCreationData[i].CounterName = Console.ReadLine();
    }
    CounterCreationDataCollection myCounterCollection =
       new CounterCreationDataCollection();
    // Add the 'CounterCreationData[]' to 'CounterCollection'.
    myCounterCollection.AddRange(myCounterCreationData);

    PerformanceCounterCategory.Create(myCategoryName,
       "Sample Category",
    PerformanceCounterCategoryType.SingleInstance, myCounterCollection);

    if (myCounterCreationData.Length > 0)
    {
        if (myCounterCollection.Contains(myCounterCreationData[0]))
        {
            myCounterCollection.Remove(myCounterCreationData[0]);
            Console.WriteLine("'{0}' counter is removed from the " +
               "CounterCreationDataCollection", myCounterCreationData[0].CounterName);
        }
    }
    else
    {
        Console.WriteLine("The counters does not exist");
    }
}
else
{
    Console.WriteLine("The category already exists");
}
Dim myCategoryName As String
Dim numberOfCounters As Integer
Console.Write("Enter the category Name :")
myCategoryName = Console.ReadLine()
' Check if the category already exists or not.
If Not PerformanceCounterCategory.Exists(myCategoryName) Then
   Console.Write("Enter the number of counters : ")
   numberOfCounters = Integer.Parse(Console.ReadLine())
   Dim myCounterCreationData(numberOfCounters-1) As CounterCreationData
   Dim i As Integer
   For i = 0 To numberOfCounters - 1
      Console.Write("Enter the counter name for {0} counter : ", i)
      myCounterCreationData(i) = New CounterCreationData()
      myCounterCreationData(i).CounterName = Console.ReadLine()
   Next i
   Dim myCounterCollection As New CounterCreationDataCollection()
   ' Add the 'CounterCreationData[]' to 'CounterCollection'.
   myCounterCollection.AddRange(myCounterCreationData)

       PerformanceCounterCategory.Create(myCategoryName, "Sample Category", _
              PerformanceCounterCategoryType.SingleInstance, myCounterCollection)

   ' Remove an instance of 'CounterCreationData' from 'CounterCollection'.
   If myCounterCreationData.Length > 0 Then
      If myCounterCollection.Contains(myCounterCreationData(0)) Then
         myCounterCollection.Remove(myCounterCreationData(0))
         Console.WriteLine("'{0}' counter is removed from the " + _
                     "CounterCreationDataCollection", myCounterCreationData(0).CounterName)
      End If
   Else
      Console.WriteLine("The counters does not exist")
   End If
Else
   Console.WriteLine("The category already exists")
End If

适用于