InstanceDataCollectionCollection Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona una colección fuertemente tipada de objetos InstanceDataCollection.
public ref class InstanceDataCollectionCollection : System::Collections::DictionaryBase
public class InstanceDataCollectionCollection : System.Collections.DictionaryBase
type InstanceDataCollectionCollection = class
inherit DictionaryBase
Public Class InstanceDataCollectionCollection
Inherits DictionaryBase
- Herencia
Ejemplos
En el ejemplo de código siguiente se muestran los datos de instancia de un determinado PerformanceCounterCategory en el equipo local. En primer lugar, muestra una lista numerada de PerformanceCounterCategory nombres. Después de que el usuario escriba el número de una de las categorías, el ejemplo obtiene para InstanceDataCollectionCollection ese PerformanceCounterCategoryobjeto . A continuación, convierte la colección devuelta por la Values propiedad en una matriz de InstanceDataCollection objetos . En el ejemplo se muestran los datos de instancia asociados a cada InstanceData uno de cada 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
Comentarios
La InstanceDataCollectionCollection clase representa la colección devuelta desde el ReadCategory método . Esta colección contiene todos los datos de contador e instancia. La colección contiene un InstanceDataCollection objeto para cada contador. Cada InstanceDataCollection objeto contiene los datos de rendimiento de todos los contadores de esa instancia. Por lo tanto, los datos se indexan por nombre de contador y, a continuación, por nombre de instancia.
Constructores
InstanceDataCollectionCollection() |
Obsoletos.
Obsoletos.
Obsoletos.
Inicializa una nueva instancia de la clase InstanceDataCollectionCollection. |
Propiedades
Count |
Obtiene el número de elementos contenidos en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
Dictionary |
Obtiene la lista de elementos incluidos en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
InnerHashtable |
Obtiene la lista de elementos incluidos en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
Item[String] |
Obtiene los datos de instancia para el contador especificado. |
Keys |
Obtiene las claves del Registro de contador y de objeto para los objetos asociados a esta recolección de datos de instancia. |
Values |
Obtiene los valores de los datos de instancia que forman la colección de instancias del contador. |
Métodos
Clear() |
Borra el contenido de la instancia de DictionaryBase. (Heredado de DictionaryBase) |
Contains(String) |
Determine si en la recolección existe una recolección de datos de instancia para el contador especificado (identificado por uno de los objetos InstanceDataCollection indizados). |
CopyTo(Array, Int32) |
Copia los elementos de DictionaryBase a una Array unidimensional en el índice especificado. (Heredado de DictionaryBase) |
CopyTo(InstanceDataCollection[], Int32) |
Copia una matriz de instancia InstanceDataCollection en la colección, en el índice especificado. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetEnumerator() |
Devuelve un IDictionaryEnumerator que itera por la instancia de DictionaryBase. (Heredado de DictionaryBase) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
OnClear() |
Ejecuta procesos personalizados adicionales antes de borrar el contenido de la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnClearComplete() |
Realiza procesos personalizados adicionales después de borrar el contenido de la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnGet(Object, Object) |
Obtiene el elemento con la clave y valor especificados en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnInsert(Object, Object) |
Realiza procesos personalizados adicionales antes de insertar un nuevo elemento en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnInsertComplete(Object, Object) |
Realiza procesos personalizados adicionales después de insertar un nuevo elemento en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnRemove(Object, Object) |
Realiza procesos personalizados adicionales antes de quitar un elemento de la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnRemoveComplete(Object, Object) |
Realiza procesos personalizados adicionales después de quitar un elemento de la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnSet(Object, Object, Object) |
Realiza procesos personalizados adicionales antes de establecer un valor en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnSetComplete(Object, Object, Object) |
Realiza procesos personalizados adicionales después de establecer un valor en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
OnValidate(Object, Object) |
Ejecuta procesos personalizados adicionales al validar el elemento con la clave y valor especificados. (Heredado de DictionaryBase) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
ICollection.IsSynchronized |
Obtiene un valor que indica si el acceso a un objeto DictionaryBase está sincronizado (es seguro para subprocesos). (Heredado de DictionaryBase) |
ICollection.SyncRoot |
Obtiene un objeto que se puede utilizar para sincronizar el acceso a un objeto DictionaryBase. (Heredado de DictionaryBase) |
IDictionary.Add(Object, Object) |
Agrega un elemento con la clave y el valor especificados a DictionaryBase. (Heredado de DictionaryBase) |
IDictionary.Contains(Object) |
Determina si DictionaryBase contiene una clave específica. (Heredado de DictionaryBase) |
IDictionary.IsFixedSize |
Obtiene un valor que indica si un objeto DictionaryBase tiene un tamaño fijo. (Heredado de DictionaryBase) |
IDictionary.IsReadOnly |
Obtiene un valor que indica si un objeto DictionaryBase es de solo lectura. (Heredado de DictionaryBase) |
IDictionary.Item[Object] |
Obtiene o establece el valor asociado a la clave especificada. (Heredado de DictionaryBase) |
IDictionary.Keys |
Obtiene un objeto ICollection que contiene las claves del objeto DictionaryBase. (Heredado de DictionaryBase) |
IDictionary.Remove(Object) |
Quita el elemento con la clave especificada de DictionaryBase. (Heredado de DictionaryBase) |
IDictionary.Values |
Obtiene un objeto ICollection que contiene los valores del objeto DictionaryBase. (Heredado de DictionaryBase) |
IEnumerable.GetEnumerator() |
Devuelve un objeto IEnumerator que itera a través del objeto DictionaryBase. (Heredado de DictionaryBase) |
Métodos de extensión
Cast<TResult>(IEnumerable) |
Convierte los elementos de IEnumerable en el tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra los elementos de IEnumerable en función de un tipo especificado. |
AsParallel(IEnumerable) |
Habilita la paralelización de una consulta. |
AsQueryable(IEnumerable) |
Convierte una interfaz IEnumerable en IQueryable. |