InstanceDataCollectionCollection.Item[String] Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen sayaç için örnek verilerini alır.
public:
property System::Diagnostics::InstanceDataCollection ^ default[System::String ^] { System::Diagnostics::InstanceDataCollection ^ get(System::String ^ counterName); };
public System.Diagnostics.InstanceDataCollection this[string counterName] { get; }
member this.Item(string) : System.Diagnostics.InstanceDataCollection
Default Public ReadOnly Property Item(counterName As String) As InstanceDataCollection
Parametreler
- counterName
- String
Performans sayacının adı.
Özellik Değeri
InstanceDataCollection Nesnenin InstanceDataCollectionCollection dizine eklendiği bir öğe.
Özel durumlar
counterName
parametresidirnull
.
Örnekler
Aşağıdaki kod örneği, komut satırından bir PerformanceCounter kategori adı ve sayaç adı kabul eder. için öğesini InstanceDataCollectionCollectionPerformanceCounterCategoryalır. Daha sonra örneği varsa PerformanceCounter , ilişkiliyi Item[]InstanceDataCollection almak için özelliğini (dizin oluşturucu olarak başvurulur) kullanır ve koleksiyondaki örnek adlarını görüntüler.
public static void Main(string[] args)
{
// The following values can be used as arguments.
string categoryName = "Process";
string counterName = "Private Bytes";
InstanceDataCollectionCollection idColCol;
// Copy the supplied arguments into the local variables.
try
{
categoryName = args[0];
counterName = args[1];
}
catch
{
// Ignore the exception from non-supplied arguments.
}
try
{
// Get the InstanceDataCollectionCollection for this category.
PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
idColCol = pcc.ReadCategory();
}
catch(Exception ex)
{
Console.WriteLine("An error occurred getting the InstanceDataCollection for " +
"category \"{0}\"."+ "\n" +ex.Message, categoryName);
return;
}
// Check if this counter name exists using the Contains
// method of the InstanceDataCollectionCollection.
if (!idColCol.Contains(counterName))
{
Console.WriteLine("Counter \"{0}\" does not exist in category \"{1}\".", counterName, categoryName);
return;
}
else
{
// Now get the counter's InstanceDataCollection object using the
// indexer (Item property) for the InstanceDataCollectionCollection.
InstanceDataCollection countData = idColCol[counterName];
ICollection idColKeys = countData.Keys;
string[] idColKeysArray = new string[idColKeys.Count];
idColKeys.CopyTo(idColKeysArray, 0);
Console.WriteLine("Counter \"{0}\" of category \"{1}\" " +
"has {2} instances.", counterName, categoryName, idColKeys.Count);
// Display the instance names for this counter.
int index;
for(index=0; index<idColKeysArray.Length; index++)
{
Console.WriteLine("{0,4} -- {1}", index+1, idColKeysArray[index]);
}
}
}
Sub Main(ByVal args() As String)
Dim categoryName As String = ""
Dim counterName As String = ""
Dim idColCol As InstanceDataCollectionCollection
' Copy the supplied arguments into the local variables.
Try
categoryName = args(0)
counterName = args(1)
Catch ex As Exception
' Ignore the exception from non-supplied arguments.
End Try
Try
' Get the InstanceDataCollectionCollection for this category.
Dim pcc As New PerformanceCounterCategory(categoryName)
idColCol = pcc.ReadCategory()
Catch ex As Exception
Console.WriteLine( _
"An error occurred getting the InstanceDataCollection for " & _
"category ""{0}""." & vbCrLf & ex.Message, categoryName)
Return
End Try
' Check if this counter name exists using the Contains
' method of the InstanceDataCollectionCollection.
If Not idColCol.Contains(counterName) Then
Console.WriteLine( _
"Counter ""{0}"" does not exist in category ""{1}"".", _
counterName, categoryName)
Return
Else
' Now get the counter's InstanceDataCollection object using the
' indexer (Item property) for the InstanceDataCollectionCollection.
Dim countData As InstanceDataCollection = idColCol(counterName)
Dim idColKeys As ICollection = countData.Keys
Dim idColKeysArray(idColKeys.Count - 1) As String
idColKeys.CopyTo(idColKeysArray, 0)
Console.WriteLine("Counter ""{0}"" of category ""{1}"" " & _
"has {2} instances.", counterName, categoryName, idColKeys.Count)
' Display the instance names for this counter.
Dim index As Integer
For index = 0 To idColKeysArray.Length - 1
Console.WriteLine("{0,4} -- {1}", index + 1, idColKeysArray(index))
Next index
End If
End Sub
Açıklamalar
counterName
parametresi büyük/küçük harfe duyarlı değildir.
Koleksiyondaki her InstanceDataCollection nesne, bir örneğin tüm sayaçlarının performans verilerini içerir. Veriler, sayaç adına ve ardından örnek adına göre dizine eklenir. Dizin oluşturucu, bu örnek veri koleksiyonuyla ilişkili sayaçlarda adım adım ilerletmek için parametresini kullanır counterName
.