InstanceDataCollectionCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce una raccolta fortemente tipizzata di oggetti InstanceDataCollection.
public ref class InstanceDataCollectionCollection : System::Collections::DictionaryBase
public class InstanceDataCollectionCollection : System.Collections.DictionaryBase
type InstanceDataCollectionCollection = class
inherit DictionaryBase
Public Class InstanceDataCollectionCollection
Inherits DictionaryBase
- Ereditarietà
Esempio
Nell'esempio di codice seguente vengono visualizzati i dati dell'istanza per un particolare PerformanceCounterCategory nel computer locale. Viene innanzitutto visualizzato un elenco numerato di PerformanceCounterCategory nomi. Dopo che l'utente immette il numero di una delle categorie, l'esempio ottiene l'oggetto per l'oggetto InstanceDataCollectionCollectionPerformanceCounterCategory. Converte quindi la raccolta restituita dalla Values proprietà in una matrice di InstanceDataCollection oggetti . Nell'esempio vengono visualizzati i dati dell'istanza associati a ogni InstanceDataInstanceDataCollectionoggetto .
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
Commenti
La InstanceDataCollectionCollection classe rappresenta la raccolta restituita dal ReadCategory metodo . Questa raccolta contiene tutti i dati del contatore e dell'istanza. L'insieme contiene un InstanceDataCollection oggetto per ogni contatore. Ogni InstanceDataCollection oggetto contiene i dati sulle prestazioni per tutti i contatori per tale istanza. Pertanto, i dati vengono indicizzati in base al nome del contatore e quindi in base al nome dell'istanza.
Costruttori
InstanceDataCollectionCollection() |
Obsoleti.
Obsoleti.
Obsoleti.
Inizializza una nuova istanza della classe InstanceDataCollectionCollection. |
Proprietà
Count |
Ottiene il numero di elementi contenuti nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
Dictionary |
Ottiene l'elenco degli elementi contenuti nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
InnerHashtable |
Ottiene l'elenco degli elementi contenuti nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
Item[String] |
Ottiene i dati di istanza relativi al contatore specificato. |
Keys |
Ottiene l'oggetto e le chiavi di registro del contatore per gli oggetti associati all'insieme di dati di questa istanza. |
Values |
Ottiene i valori dei dati di istanza che comprendono l'insieme delle istanze per il contatore. |
Metodi
Clear() |
Cancella il contenuto dell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
Contains(String) |
Stabilisce se un insieme di dati di istanza per il contatore specificato, identificato da uno degli oggetti InstanceDataCollection indicizzati, è presente nell'insieme. |
CopyTo(Array, Int32) |
Copia gli elementi di DictionaryBase in una matrice Array unidimensionale in corrispondenza dell'indice specificato. (Ereditato da DictionaryBase) |
CopyTo(InstanceDataCollection[], Int32) |
Copia una matrice di istanze di InstanceDataCollection nella raccolta in corrispondenza dell'indice specificato. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetEnumerator() |
Restituisce un oggetto IDictionaryEnumerator che consente di scorrere l'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
OnClear() |
Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnClearComplete() |
Esegue procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnGet(Object, Object) |
Ottiene l'elemento con la chiave e il valore specificati nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnInsert(Object, Object) |
Esegue procedure personalizzate aggiuntive prima di inserire un nuovo elemento nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnInsertComplete(Object, Object) |
Esegue procedure personalizzate aggiuntive dopo aver inserito un nuovo elemento nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnRemove(Object, Object) |
Esegue procedure personalizzate aggiuntive prima della rimozione di un elemento dall'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnRemoveComplete(Object, Object) |
Esegue procedure personalizzate aggiuntive dopo della rimozione di un elemento dall'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnSet(Object, Object, Object) |
Esegue procedure personalizzate aggiuntive prima di impostare un valore nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnSetComplete(Object, Object, Object) |
Esegue procedure personalizzate aggiuntive dopo aver impostato un valore nell'istanza di DictionaryBase. (Ereditato da DictionaryBase) |
OnValidate(Object, Object) |
Esegue procedure personalizzate aggiuntive durante la convalida dell'elemento con la chiave e il valore specificati. (Ereditato da DictionaryBase) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso a un oggetto DictionaryBase è sincronizzato (thread-safe). (Ereditato da DictionaryBase) |
ICollection.SyncRoot |
Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto DictionaryBase. (Ereditato da DictionaryBase) |
IDictionary.Add(Object, Object) |
Aggiunge un elemento con la chiave e il valore specificati al metodo DictionaryBase. (Ereditato da DictionaryBase) |
IDictionary.Contains(Object) |
Determina se l'oggetto DictionaryBase contiene una chiave specifica. (Ereditato da DictionaryBase) |
IDictionary.IsFixedSize |
Ottiene un valore che indica se le dimensioni di un oggetto DictionaryBase sono fisse. (Ereditato da DictionaryBase) |
IDictionary.IsReadOnly |
Ottiene un valore che indica se un oggetto DictionaryBase è di sola lettura. (Ereditato da DictionaryBase) |
IDictionary.Item[Object] |
Ottiene o imposta il valore associato alla chiave specificata. (Ereditato da DictionaryBase) |
IDictionary.Keys |
Ottiene un oggetto ICollection contenente le chiavi dell'oggetto DictionaryBase. (Ereditato da DictionaryBase) |
IDictionary.Remove(Object) |
Rimuove l'elemento con la chiave specificata da DictionaryBase. (Ereditato da DictionaryBase) |
IDictionary.Values |
Ottiene un oggetto ICollection contenente i valori dell'oggetto DictionaryBase. (Ereditato da DictionaryBase) |
IEnumerable.GetEnumerator() |
Restituisce un oggetto IEnumerator che esegue l'iterazione di DictionaryBase. (Ereditato da DictionaryBase) |
Metodi di estensione
Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato. |
OfType<TResult>(IEnumerable) |
Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato. |
AsParallel(IEnumerable) |
Consente la parallelizzazione di una query. |
AsQueryable(IEnumerable) |
Converte un oggetto IEnumerable in un oggetto IQueryable. |