InstanceDataCollectionCollection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit une collection fortement typée d’objets InstanceDataCollection.
public ref class InstanceDataCollectionCollection : System::Collections::DictionaryBase
public class InstanceDataCollectionCollection : System.Collections.DictionaryBase
type InstanceDataCollectionCollection = class
inherit DictionaryBase
Public Class InstanceDataCollectionCollection
Inherits DictionaryBase
- Héritage
Exemples
L’exemple de code suivant affiche les données instance pour un particulier PerformanceCounterCategory sur l’ordinateur local. Il affiche d’abord une liste numérotée de PerformanceCounterCategory noms. Une fois que l’utilisateur a entré le numéro d’une des catégories, l’exemple obtient le InstanceDataCollectionCollection pour cela PerformanceCounterCategory. Il convertit ensuite la collection retournée par la Values propriété en tableau d’objets InstanceDataCollection . L’exemple montre comment afficher les données instance associées à chaque InstanceDataInstanceDataCollection.
using System;
using System.Diagnostics;
using System.Collections;
class InstDataKeysValuesMod
{
private static string categoryName;
public static void Main()
{
string catNumStr;
int categoryNum;
PerformanceCounterCategory[] categories = PerformanceCounterCategory.GetCategories();
Console.WriteLine("These categories are registered on this computer:");
int catX;
for(catX=0; catX<categories.Length; catX++)
{
Console.WriteLine("{0,4} - {1}", catX+1, categories[catX].CategoryName);
}
// Ask the user to choose a category.
Console.Write("Enter the category number from the above list: ");
catNumStr = Console.ReadLine();
// Validate the entered category number.
try
{
categoryNum = int.Parse(catNumStr);
if (categoryNum<1||categoryNum>categories.Length)
{
throw new Exception(String.Format("The category number must be in the " +
"range 1..{0}.", categories.Length));
}
categoryName = categories[(categoryNum - 1)].CategoryName;
}
catch(Exception ex)
{
Console.WriteLine("\"{0}\" is not a valid category number." +
"\r\n{1}", catNumStr, ex.Message);
return;
}
// Process the InstanceDataCollectionCollection for this category.
PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
ICollection idColColKeys = idColCol.Keys;
string[] idCCKeysArray = new string[idColColKeys.Count];
idColColKeys.CopyTo(idCCKeysArray, 0);
ICollection idColColValues = idColCol.Values;
InstanceDataCollection[] idCCValuesArray = new InstanceDataCollection[idColColValues.Count];
idColColValues.CopyTo(idCCValuesArray, 0);
Console.WriteLine("InstanceDataCollectionCollection for \"{0}\" " +
"has {1} elements.", categoryName, idColCol.Count);
// Display the InstanceDataCollectionCollection Keys and Values.
// The Keys and Values collections have the same number of elements.
int index;
for(index=0; index<idCCKeysArray.Length; index++)
{
Console.WriteLine(" Next InstanceDataCollectionCollection " +
"Key is \"{0}\"", idCCKeysArray[index]);
ProcessInstanceDataCollection(idCCValuesArray[index]);
}
}
// Display the contents of an InstanceDataCollection.
public static void ProcessInstanceDataCollection(InstanceDataCollection idCol)
{
ICollection idColKeys = idCol.Keys;
string[] idColKeysArray = new string[idColKeys.Count];
idColKeys.CopyTo(idColKeysArray, 0);
ICollection idColValues = idCol.Values;
InstanceData[] idColValuesArray = new InstanceData[idColValues.Count];
idColValues.CopyTo(idColValuesArray, 0);
Console.WriteLine(" InstanceDataCollection for \"{0}\" " +
"has {1} elements.", idCol.CounterName, idCol.Count);
// Display the InstanceDataCollection Keys and Values.
// The Keys and Values collections have the same number of elements.
int index;
for(index=0; index<idColKeysArray.Length; index++)
{
Console.WriteLine(" Next InstanceDataCollection " +
"Key is \"{0}\"", idColKeysArray[index]);
ProcessInstanceDataObject(idColValuesArray[index]);
}
}
// Display the contents of an InstanceData object.
public static void ProcessInstanceDataObject(InstanceData instData)
{
CounterSample sample = instData.Sample;
Console.WriteLine(" From InstanceData:\r\n " +
"InstanceName: {0,-31} RawValue: {1}", instData.InstanceName, instData.Sample.RawValue);
Console.WriteLine(" From CounterSample:\r\n " +
"CounterType: {0,-32} SystemFrequency: {1}\r\n" +
" BaseValue: {2,-34} RawValue: {3}\r\n" +
" CounterFrequency: {4,-27} CounterTimeStamp: {5}\r\n" +
" TimeStamp: {6,-34} TimeStamp100nSec: {7}", sample.CounterType, sample.SystemFrequency, sample.BaseValue, sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, sample.TimeStamp, sample.TimeStamp100nSec);
}
}
Imports System.Diagnostics
Imports System.Collections
Module InstDataKeysValuesMod
Private categoryName As String
Sub Main()
Dim catNumStr As String
Dim categoryNum As Integer
Dim categories As PerformanceCounterCategory() = _
PerformanceCounterCategory.GetCategories()
Console.WriteLine( _
"These categories are registered on this computer:")
Dim catX As Integer
For catX = 0 To categories.Length - 1
Console.WriteLine("{0,4} - {1}", catX + 1, _
categories(catX).CategoryName)
Next catX
' Ask the user to choose a category.
Console.Write( _
"Enter the category number from the above list: ")
catNumStr = Console.ReadLine()
' Validate the entered category number.
Try
categoryNum = Integer.Parse(catNumStr)
If categoryNum < 1 Or categoryNum > categories.Length Then
Throw New Exception( _
String.Format("The category number must be in the " & _
"range 1..{0}.", categories.Length))
End If
categoryName = categories((categoryNum - 1)).CategoryName
Catch ex As Exception
Console.WriteLine("""{0}"" is not a valid category number." & _
vbCrLf & "{1}", catNumStr, ex.Message)
Return
End Try
' Process the InstanceDataCollectionCollection for this category.
Dim pcc As New PerformanceCounterCategory(categoryName)
Dim idColCol As InstanceDataCollectionCollection = pcc.ReadCategory()
Dim idColColKeys As ICollection = idColCol.Keys
Dim idCCKeysArray(idColColKeys.Count - 1) As String
idColColKeys.CopyTo(idCCKeysArray, 0)
Dim idColColValues As ICollection = idColCol.Values
Dim idCCValuesArray(idColColValues.Count - 1) As InstanceDataCollection
idColColValues.CopyTo(idCCValuesArray, 0)
Console.WriteLine("InstanceDataCollectionCollection for ""{0}"" " & _
"has {1} elements.", categoryName, idColCol.Count)
' Display the InstanceDataCollectionCollection Keys and Values.
' The Keys and Values collections have the same number of elements.
Dim index As Integer
For index = 0 To idCCKeysArray.Length - 1
Console.WriteLine(" Next InstanceDataCollectionCollection " & _
"Key is ""{0}""", idCCKeysArray(index))
ProcessInstanceDataCollection(idCCValuesArray(index))
Next index
End Sub
' Display the contents of an InstanceDataCollection.
Sub ProcessInstanceDataCollection(ByVal idCol As InstanceDataCollection)
Dim idColKeys As ICollection = idCol.Keys
Dim idColKeysArray(idColKeys.Count - 1) As String
idColKeys.CopyTo(idColKeysArray, 0)
Dim idColValues As ICollection = idCol.Values
Dim idColValuesArray(idColValues.Count - 1) As InstanceData
idColValues.CopyTo(idColValuesArray, 0)
Console.WriteLine(" InstanceDataCollection for ""{0}"" " & _
"has {1} elements.", idCol.CounterName, idCol.Count)
' Display the InstanceDataCollection Keys and Values.
' The Keys and Values collections have the same number of elements.
Dim index As Integer
For index = 0 To idColKeysArray.Length - 1
Console.WriteLine(" Next InstanceDataCollection " & _
"Key is ""{0}""", idColKeysArray(index))
ProcessInstanceDataObject(idColValuesArray(index))
Next index
End Sub
' Display the contents of an InstanceData object.
Sub ProcessInstanceDataObject(ByVal instData As InstanceData)
Dim sample As CounterSample = instData.Sample
Console.WriteLine(" From InstanceData:" & vbCrLf & " " & _
"InstanceName: {0,-31} RawValue: {1}", _
instData.InstanceName, instData.Sample.RawValue)
Console.WriteLine(" From CounterSample:" & vbCrLf & " " & _
"CounterType: {0,-32} SystemFrequency: {1}" & vbCrLf & _
" BaseValue: {2,-34} RawValue: {3}" & vbCrLf & _
" CounterFrequency: {4,-27} CounterTimeStamp: {5}" & vbCrLf & _
" TimeStamp: {6,-34} TimeStamp100nSec: {7}", _
sample.CounterType, sample.SystemFrequency, sample.BaseValue, _
sample.RawValue, sample.CounterFrequency, sample.CounterTimeStamp, _
sample.TimeStamp, sample.TimeStamp100nSec)
End Sub
End Module
Remarques
La InstanceDataCollectionCollection classe représente la collection retournée par la ReadCategory méthode . Cette collection contient toutes les données de compteur et de instance. La collection contient un InstanceDataCollection objet pour chaque compteur. Chaque InstanceDataCollection objet contient les données de performances de tous les compteurs pour ce instance. Ainsi, les données sont indexées par nom de compteur, puis par instance nom.
Constructeurs
InstanceDataCollectionCollection() |
Obsolète.
Obsolète.
Obsolète.
Initialise une nouvelle instance de la classe InstanceDataCollectionCollection. |
Propriétés
Count |
Obtient le nombre d'éléments contenus dans l'instance DictionaryBase. (Hérité de DictionaryBase) |
Dictionary |
Obtient la liste des éléments contenus dans l’instance de DictionaryBase. (Hérité de DictionaryBase) |
InnerHashtable |
Obtient la liste des éléments contenus dans l’instance de DictionaryBase. (Hérité de DictionaryBase) |
Item[String] |
Obtient les données d'instance du compteur spécifié. |
Keys |
Obtient les clés de Registre de l'objet et du compteur pour les objets associés à cette collection de données d'instance. |
Values |
Obtient les données d'instance qui comprennent la collection d'instances pour le compteur. |
Méthodes
Clear() |
Efface le contenu de l'instance DictionaryBase. (Hérité de DictionaryBase) |
Contains(String) |
Détermine si la collection renferme une collection une collection de données d'instance du compteur spécifié (identifié par un des objets InstanceDataCollection indexés). |
CopyTo(Array, Int32) |
Copie les entrées des éléments DictionaryBase dans un Array à une dimension à l'index spécifié. (Hérité de DictionaryBase) |
CopyTo(InstanceDataCollection[], Int32) |
Copie un tableau d’instances InstanceDataCollection dans la collection, à l’index spécifié. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetEnumerator() |
Retourne IDictionaryEnumerator qui itère au sein de l'instance de DictionaryBase. (Hérité de DictionaryBase) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnClear() |
Effectue des traitements personnalisés supplémentaires avant l'effacement du contenu de l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnClearComplete() |
Exécute des processus personnalisés supplémentaires après l'effacement du contenu de l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnGet(Object, Object) |
Obtient l'élément correspondant à la clé et la valeur spécifiées dans l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnInsert(Object, Object) |
Exécute les processus personnalisés supplémentaires avant l'insertion d'un nouvel élément dans l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnInsertComplete(Object, Object) |
Exécute les processus personnalisés supplémentaires après l'insertion d'un nouvel élément dans l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnRemove(Object, Object) |
Effectue des traitements personnalisés supplémentaires avant la suppression d'un élément de l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnRemoveComplete(Object, Object) |
Exécute des processus personnalisés supplémentaires après la suppression d'un élément de l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnSet(Object, Object, Object) |
Exécute des processus personnalisés supplémentaires avant la définition d'une valeur dans l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnSetComplete(Object, Object, Object) |
Exécute des processus personnalisés supplémentaires après la définition d'une valeur dans l'instance de DictionaryBase. (Hérité de DictionaryBase) |
OnValidate(Object, Object) |
Effectue des traitements personnalisés supplémentaires lors de la validation de l'élément correspondant à la clé et la valeur spécifiées. (Hérité de DictionaryBase) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
ICollection.IsSynchronized |
Obtient une valeur indiquant si l'accès à un objet DictionaryBase est synchronisé (thread-safe). (Hérité de DictionaryBase) |
ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l'accès à un objet DictionaryBase. (Hérité de DictionaryBase) |
IDictionary.Add(Object, Object) |
Ajoute un élément avec la clé et la valeur spécifiées dans DictionaryBase. (Hérité de DictionaryBase) |
IDictionary.Contains(Object) |
Détermine si DictionaryBase contient une clé spécifique. (Hérité de DictionaryBase) |
IDictionary.IsFixedSize |
Obtient une valeur indiquant si un objet DictionaryBase est de taille fixe. (Hérité de DictionaryBase) |
IDictionary.IsReadOnly |
Obtient une valeur indiquant si un objet DictionaryBase est en lecture seule. (Hérité de DictionaryBase) |
IDictionary.Item[Object] |
Obtient ou définit la valeur associée à la clé spécifiée. (Hérité de DictionaryBase) |
IDictionary.Keys |
Obtient un objet ICollection contenant les clés de l'objet DictionaryBase. (Hérité de DictionaryBase) |
IDictionary.Remove(Object) |
Supprime l'élément avec la clé spécifiée d'DictionaryBase. (Hérité de DictionaryBase) |
IDictionary.Values |
Obtient un objet ICollection contenant les valeurs de l'objet DictionaryBase. (Hérité de DictionaryBase) |
IEnumerable.GetEnumerator() |
Retourne un IEnumerator qui itère au sein de DictionaryBase. (Hérité de DictionaryBase) |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |