InstanceDataCollection Klasa

Definicja

Zapewnia silnie wpisaną kolekcję InstanceData obiektów.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
Dziedziczenie
InstanceDataCollection

Przykłady

Poniższy przykład kodu wyświetla dane wystąpienia określonego PerformanceCounterCategory na komputerze lokalnym.The following code example displays the instance data for a particular PerformanceCounterCategory on the local computer. Najpierw wyświetla listę numerowaną PerformanceCounterCategory nazw.It first displays a numbered list of PerformanceCounterCategory names. Gdy użytkownik wprowadzi liczbę jednej z kategorii, przykład pobiera InstanceDataCollectionCollection dla tego elementu PerformanceCounterCategory .After the user enters the number of one of the categories, the example gets the InstanceDataCollectionCollection for that PerformanceCounterCategory. Następnie konwertuje kolekcję zwracaną przez Values element na tablicę InstanceDataCollection obiektów.It then converts the collection returned by Values to an array of InstanceDataCollection objects. W przykładzie pokazano również, jakie dane wystąpienia są skojarzone z każdym InstanceData z nich 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

Uwagi

InstanceDataCollectionKlasa reprezentuje kolekcję zawierającą wszystkie dane wystąpienia dla licznika.The InstanceDataCollection class represents a collection containing all the instance data for a counter. Ta kolekcja jest zawarta w InstanceDataCollectionCollection przy użyciu ReadCategory metody.This collection is contained in the InstanceDataCollectionCollection when using the ReadCategory method.

Konstruktory

InstanceDataCollection(String)
Nieaktualne.
Nieaktualne.
Nieaktualne.

Inicjuje nowe wystąpienie InstanceDataCollection klasy, używając określonego licznika wydajności (który definiuje wystąpienie wydajności).Initializes a new instance of the InstanceDataCollection class, using the specified performance counter (which defines a performance instance).

Właściwości

Count

Pobiera liczbę elementów zawartych w DictionaryBase wystąpieniu.Gets the number of elements contained in the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
CounterName

Pobiera nazwę licznika wydajności, którego dane wystąpienia mają być pobierane.Gets the name of the performance counter whose instance data you want to get.

Dictionary

Pobiera listę elementów zawartych w DictionaryBase wystąpieniu.Gets the list of elements contained in the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
InnerHashtable

Pobiera listę elementów zawartych w DictionaryBase wystąpieniu.Gets the list of elements contained in the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
Item[String]

Pobiera dane wystąpienia skojarzone z tym licznikiem.Gets the instance data associated with this counter. Jest to zazwyczaj zbiór nieprzetworzonych wartości licznika.This is typically a set of raw counter values.

Keys

Pobiera klucze rejestru obiektu i licznika dla obiektów skojarzonych z tym wystąpieniem.Gets the object and counter registry keys for the objects associated with this instance data.

Values

Pobiera wartości liczników nieprzetworzonych, które składają się na dane wystąpienia dla licznika.Gets the raw counter values that comprise the instance data for the counter.

Metody

Clear()

Czyści zawartość DictionaryBase wystąpienia.Clears the contents of the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
Contains(String)

Określa, czy wystąpienie wydajności o określonej nazwie (identyfikowane przez jeden z obiektów indeksowanych InstanceData ) istnieje w kolekcji.Determines whether a performance instance with a specified name (identified by one of the indexed InstanceData objects) exists in the collection.

CopyTo(Array, Int32)

Kopiuje DictionaryBase elementy do jednowymiarowego Array o określonym indeksie.Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Odziedziczone po DictionaryBase)
CopyTo(InstanceData[], Int32)

Kopiuje elementy w kolekcji do określonej jednowymiarowej tablicy o określonym indeksie.Copies the items in the collection to the specified one-dimensional array at the specified index.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca wartość IDictionaryEnumerator , która wykonuje iterację przez DictionaryBase wystąpienie.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
OnClear()

Wykonuje dodatkowe procesy niestandardowe przed wyczyszczeniem zawartości DictionaryBase wystąpienia.Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnClearComplete()

Wykonuje dodatkowe procesy niestandardowe po wyczyszczeniu zawartości DictionaryBase wystąpienia.Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnGet(Object, Object)

Pobiera element z określonym kluczem i wartością w DictionaryBase wystąpieniu.Gets the element with the specified key and value in the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnInsert(Object, Object)

Wykonuje dodatkowe procesy niestandardowe przed wstawieniem nowego elementu do DictionaryBase wystąpienia.Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnInsertComplete(Object, Object)

Wykonuje dodatkowe procesy niestandardowe po wstawieniu nowego elementu do DictionaryBase wystąpienia.Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnRemove(Object, Object)

Wykonuje dodatkowe procesy niestandardowe przed usunięciem elementu z DictionaryBase wystąpienia.Performs additional custom processes before removing an element from the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnRemoveComplete(Object, Object)

Wykonuje dodatkowe procesy niestandardowe po usunięciu elementu z DictionaryBase wystąpienia.Performs additional custom processes after removing an element from the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnSet(Object, Object, Object)

Wykonuje dodatkowe procesy niestandardowe przed ustawieniem wartości w DictionaryBase wystąpieniu.Performs additional custom processes before setting a value in the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnSetComplete(Object, Object, Object)

Wykonuje dodatkowe procesy niestandardowe po ustawieniu wartości w DictionaryBase wystąpieniu.Performs additional custom processes after setting a value in the DictionaryBase instance.

(Odziedziczone po DictionaryBase)
OnValidate(Object, Object)

Wykonuje dodatkowe procesy niestandardowe podczas walidacji elementu z określonym kluczem i wartością.Performs additional custom processes when validating the element with the specified key and value.

(Odziedziczone po DictionaryBase)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do DictionaryBase obiektu jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).

(Odziedziczone po DictionaryBase)
ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do DictionaryBase obiektu.Gets an object that can be used to synchronize access to a DictionaryBase object.

(Odziedziczone po DictionaryBase)
IDictionary.Add(Object, Object)

Dodaje element z określonym kluczem i wartością do DictionaryBase .Adds an element with the specified key and value into the DictionaryBase.

(Odziedziczone po DictionaryBase)
IDictionary.Contains(Object)

Określa, czy DictionaryBase zawiera określony klucz.Determines whether the DictionaryBase contains a specific key.

(Odziedziczone po DictionaryBase)
IDictionary.IsFixedSize

Pobiera wartość wskazującą, czy DictionaryBase obiekt ma stały rozmiar.Gets a value indicating whether a DictionaryBase object has a fixed size.

(Odziedziczone po DictionaryBase)
IDictionary.IsReadOnly

Pobiera wartość wskazującą, czy DictionaryBase obiekt jest tylko do odczytu.Gets a value indicating whether a DictionaryBase object is read-only.

(Odziedziczone po DictionaryBase)
IDictionary.Item[Object]

Pobiera lub ustawia wartość skojarzoną z określonym kluczem.Gets or sets the value associated with the specified key.

(Odziedziczone po DictionaryBase)
IDictionary.Keys

Pobiera ICollection obiekt zawierający klucze w DictionaryBase obiekcie.Gets an ICollection object containing the keys in the DictionaryBase object.

(Odziedziczone po DictionaryBase)
IDictionary.Remove(Object)

Usuwa element z określonym kluczem z DictionaryBase .Removes the element with the specified key from the DictionaryBase.

(Odziedziczone po DictionaryBase)
IDictionary.Values

Pobiera ICollection obiekt zawierający wartości w DictionaryBase obiekcie.Gets an ICollection object containing the values in the DictionaryBase object.

(Odziedziczone po DictionaryBase)
IEnumerable.GetEnumerator()

Zwraca wartość IEnumerator , która wykonuje iterację przez DictionaryBase .Returns an IEnumerator that iterates through the DictionaryBase.

(Odziedziczone po DictionaryBase)

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable do określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konwertuje IEnumerable do IQueryable .Converts an IEnumerable to an IQueryable.

Dotyczy

Zobacz też