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 d’instance d’un particulier PerformanceCounterCategory sur l’ordinateur local. Il affiche d’abord une liste numérotée de PerformanceCounterCategory noms. Une fois que l’utilisateur entre le nombre d’une des catégories, l’exemple obtient pour InstanceDataCollectionCollection cela PerformanceCounterCategory. Elle convertit ensuite la collection retournée par la Values propriété en tableau d’objets InstanceDataCollection . L’exemple affiche les données d’instance associées à chacune InstanceData de ces instances InstanceDataCollection.
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 d’instance. La collection contient un InstanceDataCollection objet pour chaque compteur. Chaque InstanceDataCollection objet contient les données de performances de tous les compteurs de cette instance. Par conséquent, les données sont indexées par nom de compteur, puis par nom d’instance.
Constructeurs
| Nom | Description |
|---|---|
| InstanceDataCollectionCollection() |
Obsolète.
Obsolète.
Obsolète.
Initialise une nouvelle instance de la classe InstanceDataCollectionCollection. |
Propriétés
| Nom | Description |
|---|---|
| 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 DictionaryBase . (Hérité de DictionaryBase) |
| InnerHashtable |
Obtient la liste des éléments contenus dans l’instance DictionaryBase . (Hérité de DictionaryBase) |
| Item[String] |
Obtient les données d’instance du compteur spécifié. |
| Keys |
Obtient les clés de Registre d’objets et de compteurs pour les objets associés à cette collection de données d’instance. |
| Values |
Obtient les valeurs de données d’instance qui composent la collection d’instances pour le compteur. |
Méthodes
| Nom | Description |
|---|---|
| Clear() |
Efface le contenu de l’instance DictionaryBase . (Hérité de DictionaryBase) |
| Contains(String) |
Détermine si une collection de données d’instance pour le compteur spécifié (identifié par l’un des objets indexés InstanceDataCollection ) existe dans la collection. |
| CopyTo(Array, Int32) |
Copie les DictionaryBase éléments dans une dimension Array à 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 une IDictionaryEnumerator itération au sein de l’instance DictionaryBase . (Hérité de DictionaryBase) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| OnClear() |
Effectue des processus personnalisés supplémentaires avant d’effacer le contenu de l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnClearComplete() |
Effectue des processus personnalisés supplémentaires après l’effacement du contenu de l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnGet(Object, Object) |
Obtient l’élément avec la clé et la valeur spécifiées dans l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnInsert(Object, Object) |
Effectue des processus personnalisés supplémentaires avant d’insérer un nouvel élément dans l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnInsertComplete(Object, Object) |
Effectue des processus personnalisés supplémentaires après l’insertion d’un nouvel élément dans l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnRemove(Object, Object) |
Effectue des processus personnalisés supplémentaires avant de supprimer un élément de l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnRemoveComplete(Object, Object) |
Effectue des processus personnalisés supplémentaires après avoir supprimé un élément de l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnSet(Object, Object, Object) |
Effectue des processus personnalisés supplémentaires avant de définir une valeur dans l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnSetComplete(Object, Object, Object) |
Effectue des processus personnalisés supplémentaires après avoir défini une valeur dans l’instance DictionaryBase . (Hérité de DictionaryBase) |
| OnValidate(Object, Object) |
Effectue des processus personnalisés supplémentaires lors de la validation de l’élément avec 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
| Nom | Description |
|---|---|
| ICollection.IsSynchronized |
Obtient une valeur indiquant si l’accès à un DictionaryBase objet est synchronisé (thread safe). (Hérité de DictionaryBase) |
| ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l’accès à un DictionaryBase objet. (Hérité de DictionaryBase) |
| IDictionary.Add(Object, Object) |
Ajoute un élément avec la clé et la valeur spécifiées dans le DictionaryBase. (Hérité de DictionaryBase) |
| IDictionary.Contains(Object) |
Détermine si le DictionaryBase conteneur contient une clé spécifique. (Hérité de DictionaryBase) |
| IDictionary.IsFixedSize |
Obtient une valeur indiquant si un DictionaryBase objet a une taille fixe. (Hérité de DictionaryBase) |
| IDictionary.IsReadOnly |
Obtient une valeur indiquant si un DictionaryBase objet 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 ICollection objet 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 du DictionaryBase. (Hérité de DictionaryBase) |
| IDictionary.Values |
Obtient un ICollection objet contenant les valeurs de l’objet DictionaryBase . (Hérité de DictionaryBase) |
| IEnumerable.GetEnumerator() |
Retourne un itération qui effectue une IEnumerator itération dans le DictionaryBase. (Hérité de DictionaryBase) |
Méthodes d’extension
| Nom | Description |
|---|---|
| AsParallel(IEnumerable) |
Active la parallélisation d’une requête. |
| AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |
| Cast<TResult>(IEnumerable) |
Convertit les éléments d’un IEnumerable en type spécifié. |
| OfType<TResult>(IEnumerable) |
Filtre les éléments d’une IEnumerable en fonction d’un type spécifié. |