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
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. |