InstanceDataCollectionCollection Třída

Definice

Poskytuje kolekci objektů se silným typem InstanceDataCollection .Provides a strongly typed collection of InstanceDataCollection objects.

public ref class InstanceDataCollectionCollection : System::Collections::DictionaryBase
public class InstanceDataCollectionCollection : System.Collections.DictionaryBase
type InstanceDataCollectionCollection = class
    inherit DictionaryBase
Public Class InstanceDataCollectionCollection
Inherits DictionaryBase
Dědičnost
InstanceDataCollectionCollection

Příklady

Následující příklad kódu zobrazuje data instance pro konkrétní PerformanceCounterCategory v místním počítači.The following code example displays the instance data for a particular PerformanceCounterCategory on the local computer. Nejprve zobrazí číslovaný seznam PerformanceCounterCategory názvů.It first displays a numbered list of PerformanceCounterCategory names. Poté, co uživatel zadá číslo jedné z kategorií, příklad získá InstanceDataCollectionCollection pro to PerformanceCounterCategory .After the user enters the number of one of the categories, the example gets the InstanceDataCollectionCollection for that PerformanceCounterCategory. Pak převede kolekci vrácenou Values vlastností na pole InstanceDataCollection objektů.It then converts the collection returned by the Values property to an array of InstanceDataCollection objects. V příkladu se zobrazí data instance přidružená ke každému InstanceData z nich InstanceDataCollection .The example 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

Poznámky

InstanceDataCollectionCollectionTřída představuje kolekci vrácenou z ReadCategory metody.The InstanceDataCollectionCollection class represents the collection returned from the ReadCategory method. Tato kolekce obsahuje všechna data čítače a instance.This collection contains all the counter and instance data. Kolekce obsahuje InstanceDataCollection objekt pro každý čítač.The collection contains an InstanceDataCollection object for each counter. Každý InstanceDataCollection objekt obsahuje údaje o výkonu pro všechny čítače této instance.Each InstanceDataCollection object contains the performance data for all counters for that instance. Proto jsou data indexována podle názvu čítače a poté podle názvu instance.Thus, the data is indexed by counter name and then by instance name.

Konstruktory

InstanceDataCollectionCollection()
Zastaralé.
Zastaralé.
Zastaralé.

Inicializuje novou instanci InstanceDataCollectionCollection třídy.Initializes a new instance of the InstanceDataCollectionCollection class.

Vlastnosti

Count

Získá počet prvků obsažených v DictionaryBase instanci.Gets the number of elements contained in the DictionaryBase instance.

(Zděděno od DictionaryBase)
Dictionary

Získá seznam elementů obsažených v DictionaryBase instanci.Gets the list of elements contained in the DictionaryBase instance.

(Zděděno od DictionaryBase)
InnerHashtable

Získá seznam elementů obsažených v DictionaryBase instanci.Gets the list of elements contained in the DictionaryBase instance.

(Zděděno od DictionaryBase)
Item[String]

Načte data instance pro zadaný čítač.Gets the instance data for the specified counter.

Keys

Načte klíče registru objektu a čítače pro objekty přidružené k této kolekci dat instance.Gets the object and counter registry keys for the objects associated with this instance data collection.

Values

Získá hodnoty dat instance, které tvoří kolekci instancí čítače.Gets the instance data values that comprise the collection of instances for the counter.

Metody

Clear()

Vymaže obsah DictionaryBase instance.Clears the contents of the DictionaryBase instance.

(Zděděno od DictionaryBase)
Contains(String)

Určuje, zda kolekce dat instance pro zadaný čítač (identifikovaná v jednom z indexovaných InstanceDataCollection objektů) v kolekci existuje.Determines whether an instance data collection for the specified counter (identified by one of the indexed InstanceDataCollection objects) exists in the collection.

CopyTo(Array, Int32)

Zkopíruje DictionaryBase prvky na jednorozměrné Array v zadaném indexu.Copies the DictionaryBase elements to a one-dimensional Array at the specified index.

(Zděděno od DictionaryBase)
CopyTo(InstanceDataCollection[], Int32)

Zkopíruje pole InstanceDataCollection instancí do kolekce v zadaném indexu.Copies an array of InstanceDataCollection instances to the collection, at the specified index.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetEnumerator()

Vrátí objekt IDictionaryEnumerator , který prochází DictionaryBase instancí.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance.

(Zděděno od DictionaryBase)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
OnClear()

Před vymazáním obsahu instance provede další vlastní procesy DictionaryBase .Performs additional custom processes before clearing the contents of the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnClearComplete()

Provede další vlastní procesy po vymazání obsahu DictionaryBase instance.Performs additional custom processes after clearing the contents of the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnGet(Object, Object)

Získá prvek se zadaným klíčem a hodnotou v DictionaryBase instanci.Gets the element with the specified key and value in the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnInsert(Object, Object)

Provede další vlastní procesy před vložením nového elementu do DictionaryBase instance.Performs additional custom processes before inserting a new element into the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnInsertComplete(Object, Object)

Provede další vlastní procesy po vložení nového elementu do DictionaryBase instance.Performs additional custom processes after inserting a new element into the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnRemove(Object, Object)

Provede další vlastní procesy před odebráním elementu z DictionaryBase instance.Performs additional custom processes before removing an element from the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnRemoveComplete(Object, Object)

Provede další vlastní procesy po odebrání elementu z DictionaryBase instance.Performs additional custom processes after removing an element from the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnSet(Object, Object, Object)

Před nastavením hodnoty v instanci provádí další vlastní procesy DictionaryBase .Performs additional custom processes before setting a value in the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnSetComplete(Object, Object, Object)

Provede další vlastní procesy po nastavení hodnoty v DictionaryBase instanci.Performs additional custom processes after setting a value in the DictionaryBase instance.

(Zděděno od DictionaryBase)
OnValidate(Object, Object)

Provádí další vlastní procesy při ověřování elementu pomocí zadaného klíče a hodnoty.Performs additional custom processes when validating the element with the specified key and value.

(Zděděno od DictionaryBase)
ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Explicitní implementace rozhraní

ICollection.IsSynchronized

Načte hodnotu, která označuje, jestli je přístup k DictionaryBase objektu synchronizovaný (bezpečná pro vlákno).Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe).

(Zděděno od DictionaryBase)
ICollection.SyncRoot

Získává objekt, který lze použít k synchronizaci přístupu k DictionaryBase objektu.Gets an object that can be used to synchronize access to a DictionaryBase object.

(Zděděno od DictionaryBase)
IDictionary.Add(Object, Object)

Přidá prvek se zadaným klíčem a hodnotou do DictionaryBase .Adds an element with the specified key and value into the DictionaryBase.

(Zděděno od DictionaryBase)
IDictionary.Contains(Object)

Určuje, zda DictionaryBase obsahuje konkrétní klíč.Determines whether the DictionaryBase contains a specific key.

(Zděděno od DictionaryBase)
IDictionary.IsFixedSize

Získá hodnotu, která označuje, zda DictionaryBase má objekt pevnou velikost.Gets a value indicating whether a DictionaryBase object has a fixed size.

(Zděděno od DictionaryBase)
IDictionary.IsReadOnly

Získá hodnotu, která označuje, zda DictionaryBase je objekt určen jen pro čtení.Gets a value indicating whether a DictionaryBase object is read-only.

(Zděděno od DictionaryBase)
IDictionary.Item[Object]

Získá nebo nastaví hodnotu přidruženou k zadanému klíči.Gets or sets the value associated with the specified key.

(Zděděno od DictionaryBase)
IDictionary.Keys

Získá ICollection objekt obsahující klíče v DictionaryBase objektu.Gets an ICollection object containing the keys in the DictionaryBase object.

(Zděděno od DictionaryBase)
IDictionary.Remove(Object)

Odebere prvek se zadaným klíčem z DictionaryBase .Removes the element with the specified key from the DictionaryBase.

(Zděděno od DictionaryBase)
IDictionary.Values

Získá ICollection objekt obsahující hodnoty v DictionaryBase objektu.Gets an ICollection object containing the values in the DictionaryBase object.

(Zděděno od DictionaryBase)
IEnumerable.GetEnumerator()

Vrátí objekt IEnumerator , který projde DictionaryBase .Returns an IEnumerator that iterates through the DictionaryBase.

(Zděděno od DictionaryBase)

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypování prvky IEnumerable na zadaný typ.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable založené na zadaném typu.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Povoluje paralelní zpracování dotazu.Enables parallelization of a query.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable .Converts an IEnumerable to an IQueryable.

Platí pro

Viz také