InstanceDataCollection Classe
Definição
Fornece uma coleção fortemente tipada de objetos InstanceData.Provides a strongly typed collection of InstanceData objects.
public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
inherit DictionaryBase
Public Class InstanceDataCollection
Inherits DictionaryBase
- Herança
Exemplos
O exemplo de código a seguir exibe os dados da instância para um específico PerformanceCounterCategory no computador local.The following code example displays the instance data for a particular PerformanceCounterCategory on the local computer. Ele primeiro exibe uma lista numerada de PerformanceCounterCategory nomes.It first displays a numbered list of PerformanceCounterCategory names. Depois que o usuário insere o número de uma das categorias, o exemplo obtém o InstanceDataCollectionCollection para isso PerformanceCounterCategory .After the user enters the number of one of the categories, the example gets the InstanceDataCollectionCollection for that PerformanceCounterCategory. Em seguida, ele converte a coleção retornada por Values em uma matriz de InstanceDataCollection objetos.It then converts the collection returned by Values to an array of InstanceDataCollection objects. O exemplo também exibe os dados da instância associados a cada um InstanceData deles InstanceDataCollection .The example also 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
Comentários
A InstanceDataCollection classe representa uma coleção que contém todos os dados de instância de um contador.The InstanceDataCollection class represents a collection containing all the instance data for a counter. Essa coleção está contida no InstanceDataCollectionCollection ao usar o ReadCategory método.This collection is contained in the InstanceDataCollectionCollection when using the ReadCategory method.
Construtores
| InstanceDataCollection(String) |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe InstanceDataCollection, usando o contador de desempenho especificado (que define uma instância de desempenho).Initializes a new instance of the InstanceDataCollection class, using the specified performance counter (which defines a performance instance). |
Propriedades
| Count |
Obtém o número de elementos contidos na instância de DictionaryBase.Gets the number of elements contained in the DictionaryBase instance. (Herdado de DictionaryBase) |
| CounterName |
Obtém o nome do contador de desempenho cujos dados de instância que você deseja obter.Gets the name of the performance counter whose instance data you want to get. |
| Dictionary |
Obtém a lista de elementos contidos na instância DictionaryBase.Gets the list of elements contained in the DictionaryBase instance. (Herdado de DictionaryBase) |
| InnerHashtable |
Obtém a lista de elementos contidos na instância DictionaryBase.Gets the list of elements contained in the DictionaryBase instance. (Herdado de DictionaryBase) |
| Item[String] |
Obtém os dados da instância associada a esse contador.Gets the instance data associated with this counter. Isso normalmente é um conjunto de valores de contador brutos.This is typically a set of raw counter values. |
| Keys |
Obtém as chaves do Registro de objeto e de contador para os objetos associados a estes dados de instância.Gets the object and counter registry keys for the objects associated with this instance data. |
| Values |
Obtém os valores de contador brutos que compõem os dados da instância do contador.Gets the raw counter values that comprise the instance data for the counter. |
Métodos
| Clear() |
Limpa o conteúdo da instância DictionaryBase.Clears the contents of the DictionaryBase instance. (Herdado de DictionaryBase) |
| Contains(String) |
Determina se uma instância de desempenho com um nome especificado (identificado por um dos objetos InstanceData indexados) existe na coleção.Determines whether a performance instance with a specified name (identified by one of the indexed InstanceData objects) exists in the collection. |
| CopyTo(Array, Int32) |
Copia os elementos DictionaryBase para um objeto Array unidimensional no índice especificado.Copies the DictionaryBase elements to a one-dimensional Array at the specified index. (Herdado de DictionaryBase) |
| CopyTo(InstanceData[], Int32) |
Copia os itens na coleção para a matriz unidimensional especificada no índice especificado.Copies the items in the collection to the specified one-dimensional array at the specified index. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object. (Herdado de Object) |
| GetEnumerator() |
Retorna um IDictionaryEnumerator que itera pela instância de DictionaryBase.Returns an IDictionaryEnumerator that iterates through the DictionaryBase instance. (Herdado de DictionaryBase) |
| GetHashCode() |
Serve como a função de hash padrão.Serves as the default hash function. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual.Gets the Type of the current instance. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object. (Herdado de Object) |
| OnClear() |
Executa processos adicionais personalizados antes de limpar o conteúdo da instância de DictionaryBase.Performs additional custom processes before clearing the contents of the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnClearComplete() |
Executa processos adicionais personalizados após limpar o conteúdo da instância DictionaryBase.Performs additional custom processes after clearing the contents of the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnGet(Object, Object) |
Obtém o elemento com a chave e o valor especificados à instância de DictionaryBase.Gets the element with the specified key and value in the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnInsert(Object, Object) |
Executa os processos personalizados adicionais antes de inserir um novo elemento na instância DictionaryBase.Performs additional custom processes before inserting a new element into the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnInsertComplete(Object, Object) |
Executa processos personalizados adicionais após inserir um novo elemento na instância de DictionaryBase.Performs additional custom processes after inserting a new element into the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnRemove(Object, Object) |
Executa processos personalizados adicionais antes de remover um elemento da instância de DictionaryBase.Performs additional custom processes before removing an element from the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnRemoveComplete(Object, Object) |
Executa processos personalizados adicionais após remover um elemento da instância de DictionaryBase.Performs additional custom processes after removing an element from the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnSet(Object, Object, Object) |
Executa processos personalizados adicionais antes de definir um valor na instância DictionaryBase.Performs additional custom processes before setting a value in the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnSetComplete(Object, Object, Object) |
Executa processos personalizados adicionais após configurar um valor na instância de DictionaryBase.Performs additional custom processes after setting a value in the DictionaryBase instance. (Herdado de DictionaryBase) |
| OnValidate(Object, Object) |
Executa processos personalizados adicionais ao validar o elemento com a chave e o valor especificados.Performs additional custom processes when validating the element with the specified key and value. (Herdado de DictionaryBase) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object. (Herdado de Object) |
Implantações explícitas de interface
| ICollection.IsSynchronized |
Obtém um valor que indica se o acesso a um objeto DictionaryBase é sincronizado (thread-safe).Gets a value indicating whether access to a DictionaryBase object is synchronized (thread safe). (Herdado de DictionaryBase) |
| ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso a um objeto DictionaryBase.Gets an object that can be used to synchronize access to a DictionaryBase object. (Herdado de DictionaryBase) |
| IDictionary.Add(Object, Object) |
Adiciona um elemento com a chave e o valor especificados ao DictionaryBase.Adds an element with the specified key and value into the DictionaryBase. (Herdado de DictionaryBase) |
| IDictionary.Contains(Object) |
Determina se a DictionaryBase contém uma chave específica.Determines whether the DictionaryBase contains a specific key. (Herdado de DictionaryBase) |
| IDictionary.IsFixedSize |
Obtém um valor que indica se o objeto DictionaryBase tem um tamanho fixo.Gets a value indicating whether a DictionaryBase object has a fixed size. (Herdado de DictionaryBase) |
| IDictionary.IsReadOnly |
Obtém um valor que indica se um objeto DictionaryBase é somente leitura.Gets a value indicating whether a DictionaryBase object is read-only. (Herdado de DictionaryBase) |
| IDictionary.Item[Object] |
Obtém ou define o valor associado à chave especificada.Gets or sets the value associated with the specified key. (Herdado de DictionaryBase) |
| IDictionary.Keys |
Obtém um objeto ICollection que contém as chaves no objeto DictionaryBase.Gets an ICollection object containing the keys in the DictionaryBase object. (Herdado de DictionaryBase) |
| IDictionary.Remove(Object) |
Remove o elemento com a chave especificada do DictionaryBase.Removes the element with the specified key from the DictionaryBase. (Herdado de DictionaryBase) |
| IDictionary.Values |
Obtém um objeto ICollection que contém os valores no objeto DictionaryBase.Gets an ICollection object containing the values in the DictionaryBase object. (Herdado de DictionaryBase) |
| IEnumerable.GetEnumerator() |
Retorna um IEnumerator que itera pelo DictionaryBase.Returns an IEnumerator that iterates through the DictionaryBase. (Herdado de DictionaryBase) |
Métodos de Extensão
| Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado.Casts the elements of an IEnumerable to the specified type. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type. |
| AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta.Enables parallelization of a query. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable. |