InstanceDataCollectionCollection Classe

Définition

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
InstanceDataCollectionCollection

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.

S’applique à

Voir aussi