InstanceDataCollection Classe

Definição

Fornece uma coleção fortemente tipada de objetos InstanceData.Provides a strongly typed collection of InstanceData objects.

public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
    inherit DictionaryBase
Public Class InstanceDataCollection
Inherits DictionaryBase
Herança
InstanceDataCollection

Exemplos

O exemplo de código a seguir exibe os dados da instância para um específico PerformanceCounterCategory no computador local.The following code example displays the instance data for a particular PerformanceCounterCategory on the local computer. Ele primeiro exibe uma lista numerada de PerformanceCounterCategory nomes.It first displays a numbered list of PerformanceCounterCategory names. Depois que o usuário insere o número de uma das categorias, o exemplo obtém o InstanceDataCollectionCollection para isso PerformanceCounterCategory .After the user enters the number of one of the categories, the example gets the InstanceDataCollectionCollection for that PerformanceCounterCategory. Em seguida, ele converte a coleção retornada por Values em uma matriz de InstanceDataCollection objetos.It then converts the collection returned by Values to an array of InstanceDataCollection objects. O exemplo também exibe os dados da instância associados a cada um InstanceData deles InstanceDataCollection .The example also displays the instance data associated with each InstanceData of each 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

Comentários

A InstanceDataCollection classe representa uma coleção que contém todos os dados de instância de um contador.The InstanceDataCollection class represents a collection containing all the instance data for a counter. Essa coleção está contida no InstanceDataCollectionCollection ao usar o ReadCategory método.This collection is contained in the InstanceDataCollectionCollection when using the ReadCategory method.

Construtores

InstanceDataCollection(String)
Obsoleto.
Obsoleto.
Obsoleto.

Inicializa uma nova instância da classe InstanceDataCollection, usando o contador de desempenho especificado (que define uma instância de desempenho).Initializes a new instance of the InstanceDataCollection class, using the specified performance counter (which defines a performance instance).

Propriedades

Count

Obtém o número de elementos contidos na instância de DictionaryBase.Gets the number of elements contained in the DictionaryBase instance.

(Herdado de DictionaryBase)
CounterName

Obtém o nome do contador de desempenho cujos dados de instância que você deseja obter.Gets the name of the performance counter whose instance data you want to get.

Dictionary

Obtém a lista de elementos contidos na instância DictionaryBase.Gets the list of elements contained in the DictionaryBase instance.

(Herdado de DictionaryBase)
InnerHashtable

Obtém a lista de elementos contidos na instância DictionaryBase.Gets the list of elements contained in the DictionaryBase instance.

(Herdado de DictionaryBase)
Item[String]

Obtém os dados da instância associada a esse contador.Gets the instance data associated with this counter. Isso normalmente é um conjunto de valores de contador brutos.This is typically a set of raw counter values.

Keys

Obtém as chaves do Registro de objeto e de contador para os objetos associados a estes dados de instância.Gets the object and counter registry keys for the objects associated with this instance data.

Values

Obtém os valores de contador brutos que compõem os dados da instância do contador.Gets the raw counter values that comprise the instance data for the counter.

Métodos

Clear()

Limpa o conteúdo da instância DictionaryBase.Clears the contents of the DictionaryBase instance.

(Herdado de DictionaryBase)
Contains(String)

Determina se uma instância de desempenho com um nome especificado (identificado por um dos objetos InstanceData indexados) existe na coleção.Determines whether a performance instance with a specified name (identified by one of the indexed InstanceData objects) exists in the collection.

CopyTo(Array, Int32)

Copia os elementos DictionaryBase para um objeto Array unidimensional no índice especificado.Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Herdado de DictionaryBase)
CopyTo(InstanceData[], Int32)

Copia os itens na coleção para a matriz unidimensional especificada no índice especificado.Copies the items in the collection to the specified one-dimensional array at the specified index.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetEnumerator()

Retorna um IDictionaryEnumerator que itera pela instância de DictionaryBase.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Herdado de DictionaryBase)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
OnClear()

Executa processos adicionais personalizados antes de limpar o conteúdo da instância de DictionaryBase.Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Herdado de DictionaryBase)
OnClearComplete()

Executa processos adicionais personalizados após limpar o conteúdo da instância DictionaryBase.Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Herdado de DictionaryBase)
OnGet(Object, Object)

Obtém o elemento com a chave e o valor especificados à instância de DictionaryBase.Gets the element with the specified key and value in the DictionaryBase instance.

(Herdado de DictionaryBase)
OnInsert(Object, Object)

Executa os processos personalizados adicionais antes de inserir um novo elemento na instância DictionaryBase.Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Herdado de DictionaryBase)
OnInsertComplete(Object, Object)

Executa processos personalizados adicionais após inserir um novo elemento na instância de DictionaryBase.Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Herdado de DictionaryBase)
OnRemove(Object, Object)

Executa processos personalizados adicionais antes de remover um elemento da instância de DictionaryBase.Performs additional custom processes before removing an element from the DictionaryBase instance.

(Herdado de DictionaryBase)
OnRemoveComplete(Object, Object)

Executa processos personalizados adicionais após remover um elemento da instância de DictionaryBase.Performs additional custom processes after removing an element from the DictionaryBase instance.

(Herdado de DictionaryBase)
OnSet(Object, Object, Object)

Executa processos personalizados adicionais antes de definir um valor na instância DictionaryBase.Performs additional custom processes before setting a value in the DictionaryBase instance.

(Herdado de DictionaryBase)
OnSetComplete(Object, Object, Object)

Executa processos personalizados adicionais após configurar um valor na instância de DictionaryBase.Performs additional custom processes after setting a value in the DictionaryBase instance.

(Herdado de DictionaryBase)
OnValidate(Object, Object)

Executa processos personalizados adicionais ao validar o elemento com a chave e o valor especificados.Performs additional custom processes when validating the element with the specified key and value.

(Herdado de DictionaryBase)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Implantações explícitas de interface

ICollection.IsSynchronized

Obtém um valor que indica se o acesso a um objeto DictionaryBase é sincronizado (thread-safe).Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).

(Herdado de DictionaryBase)
ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso a um objeto DictionaryBase.Gets an object that can be used to synchronize access to a DictionaryBase object.

(Herdado de DictionaryBase)
IDictionary.Add(Object, Object)

Adiciona um elemento com a chave e o valor especificados ao DictionaryBase.Adds an element with the specified key and value into the DictionaryBase.

(Herdado de DictionaryBase)
IDictionary.Contains(Object)

Determina se a DictionaryBase contém uma chave específica.Determines whether the DictionaryBase contains a specific key.

(Herdado de DictionaryBase)
IDictionary.IsFixedSize

Obtém um valor que indica se o objeto DictionaryBase tem um tamanho fixo.Gets a value indicating whether a DictionaryBase object has a fixed size.

(Herdado de DictionaryBase)
IDictionary.IsReadOnly

Obtém um valor que indica se um objeto DictionaryBase é somente leitura.Gets a value indicating whether a DictionaryBase object is read-only.

(Herdado de DictionaryBase)
IDictionary.Item[Object]

Obtém ou define o valor associado à chave especificada.Gets or sets the value associated with the specified key.

(Herdado de DictionaryBase)
IDictionary.Keys

Obtém um objeto ICollection que contém as chaves no objeto DictionaryBase.Gets an ICollection object containing the keys in the DictionaryBase object.

(Herdado de DictionaryBase)
IDictionary.Remove(Object)

Remove o elemento com a chave especificada do DictionaryBase.Removes the element with the specified key from the DictionaryBase.

(Herdado de DictionaryBase)
IDictionary.Values

Obtém um objeto ICollection que contém os valores no objeto DictionaryBase.Gets an ICollection object containing the values in the DictionaryBase object.

(Herdado de DictionaryBase)
IEnumerable.GetEnumerator()

Retorna um IEnumerator que itera pelo DictionaryBase.Returns an IEnumerator that iterates through the DictionaryBase.

(Herdado de DictionaryBase)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Aplica-se a

Confira também