InstanceDataCollection 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 InstanceData.
public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
inherit DictionaryBase
Public Class InstanceDataCollection
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 Values en una matriz de InstanceDataCollection objetos . En el ejemplo también 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 InstanceDataCollection clase representa una colección que contiene todos los datos de instancia de un contador. Esta colección se encuentra en InstanceDataCollectionCollection cuando se usa el ReadCategory método .
Constructores
InstanceDataCollection(String) |
Obsoletos.
Obsoletos.
Obsoletos.
Inicializa una nueva instancia de la clase InstanceDataCollection, utilizando el contador de rendimiento especificado (que define una instancia de rendimiento). |
Propiedades
Count |
Obtiene el número de elementos contenidos en la instancia de DictionaryBase. (Heredado de DictionaryBase) |
CounterName |
Obtiene el nombre del contador de rendimiento cuyos datos de instancia se desea obtener. |
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 asociados a este contador. Normalmente, es un conjunto de valores de contador sin formato. |
Keys |
Obtiene las claves del Registro de contador y de objeto para los objetos asociados a estos datos de instancia. |
Values |
Obtiene los valores de contador sin formato que forman los datos de instancia del contador. |
Métodos
Clear() |
Borra el contenido de la instancia de DictionaryBase. (Heredado de DictionaryBase) |
Contains(String) |
Determina si existe en la colección una instancia de rendimiento con un nombre especificado (identificado por uno de los objetos InstanceData indizados). |
CopyTo(Array, Int32) |
Copia los elementos de DictionaryBase a una Array unidimensional en el índice especificado. (Heredado de DictionaryBase) |
CopyTo(InstanceData[], Int32) |
Copia los elementos de la colección en la matriz unidimensional especificada en el índice indicado. |
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. |