InstanceDataCollection Classe

Définition

Fournit une collection fortement typée d’objets InstanceData .

public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
    inherit DictionaryBase
Public Class InstanceDataCollection
Inherits DictionaryBase
Héritage
InstanceDataCollection

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. Il convertit ensuite la collection retournée par Values un tableau d’objets InstanceDataCollection . L’exemple affiche également 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 InstanceDataCollection classe représente une collection contenant toutes les données d’instance d’un compteur. Cette collection est contenue dans la InstanceDataCollectionCollection méthode lors de l’utilisation de la ReadCategory méthode.

Constructeurs

Nom Description
InstanceDataCollection(String)
Obsolète.

Initialise une nouvelle instance de la InstanceDataCollection classe à l’aide du compteur de performances spécifié (qui définit une instance de performances).

Propriétés

Nom Description
Count

Obtient le nombre d’éléments contenus dans l’instance DictionaryBase .

(Hérité de DictionaryBase)
CounterName

Obtient le nom du compteur de performances dont vous souhaitez obtenir les données d’instance.

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 associées à ce compteur. Il s’agit généralement d’un ensemble de valeurs de compteur brutes.

Keys

Obtient les clés de Registre d’objets et de compteurs pour les objets associés à ces données d’instance.

Values

Obtient les valeurs de compteur brutes qui composent les données d’instance du compteur.

Méthodes

Nom Description
Clear()

Efface le contenu de l’instance DictionaryBase .

(Hérité de DictionaryBase)
Contains(String)

Détermine si une instance de performances portant un nom spécifié (identifié par l’un des objets indexés InstanceData ) 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(InstanceData[], Int32)

Copie les éléments de la collection dans le tableau unidimensionnel spécifié à 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 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é.

S’applique à

Voir aussi