InstanceDataCollectionCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece uma coleção fortemente 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
- Herança
Exemplos
O exemplo de código a seguir exibe os dados da instância de um determinado PerformanceCounterCategory no computador local. Primeiro, ele exibe uma lista numerada de PerformanceCounterCategory nomes. Depois que o usuário insere o número de uma das categorias, o exemplo obtém o InstanceDataCollectionCollection para esse PerformanceCounterCategory. Em seguida, converte a coleção retornada pela Values propriedade em uma matriz de InstanceDataCollection objetos . O exemplo exibe os dados de instância associados a cada InstanceData um 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
Comentários
A InstanceDataCollectionCollection classe representa a coleção retornada do ReadCategory método . Essa coleção contém todos os dados do contador e da instância. A coleção contém um InstanceDataCollection objeto para cada contador. Cada InstanceDataCollection objeto contém os dados de desempenho para todos os contadores dessa instância. Portanto, os dados são indexados pelo nome do contador e, em seguida, pelo nome da instância.
Construtores
InstanceDataCollectionCollection() |
Obsoleto.
Obsoleto.
Obsoleto.
Inicializa uma nova instância da classe InstanceDataCollectionCollection. |
Propriedades
Count |
Obtém o número de elementos contidos na instância de DictionaryBase. (Herdado de DictionaryBase) |
Dictionary |
Obtém a lista de elementos contidos na instância DictionaryBase. (Herdado de DictionaryBase) |
InnerHashtable |
Obtém a lista de elementos contidos na instância DictionaryBase. (Herdado de DictionaryBase) |
Item[String] |
Obtém os dados da instância para o contador especificado. |
Keys |
Obtém as chaves do Registro de objeto e de contador para os objetos associados a esta coleção de dados de instância. |
Values |
Obtém os valores de dados de instância que compõem a coleção de instâncias do contador. |
Métodos
Clear() |
Limpa o conteúdo da instância DictionaryBase. (Herdado de DictionaryBase) |
Contains(String) |
Determina se uma coleção de dados de instância para o contador especificado (identificado por um dos objetos InstanceDataCollection indexados) existe na coleção. |
CopyTo(Array, Int32) |
Copia os elementos DictionaryBase para um objeto Array unidimensional no índice especificado. (Herdado de DictionaryBase) |
CopyTo(InstanceDataCollection[], Int32) |
Copia uma matriz de instâncias de InstanceDataCollection à coleção, no índice especificado. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetEnumerator() |
Retorna um IDictionaryEnumerator que itera pela instância de DictionaryBase. (Herdado de DictionaryBase) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
OnClear() |
Executa processos adicionais personalizados antes de limpar o conteúdo da instância de DictionaryBase. (Herdado de DictionaryBase) |
OnClearComplete() |
Executa processos adicionais personalizados após limpar o conteúdo da instância DictionaryBase. (Herdado de DictionaryBase) |
OnGet(Object, Object) |
Obtém o elemento com a chave e o valor especificados à instância de DictionaryBase. (Herdado de DictionaryBase) |
OnInsert(Object, Object) |
Executa os processos personalizados adicionais antes de inserir um novo elemento na instância DictionaryBase. (Herdado de DictionaryBase) |
OnInsertComplete(Object, Object) |
Executa processos personalizados adicionais após inserir um novo elemento na instância de DictionaryBase. (Herdado de DictionaryBase) |
OnRemove(Object, Object) |
Executa processos personalizados adicionais antes de remover um elemento da instância de DictionaryBase. (Herdado de DictionaryBase) |
OnRemoveComplete(Object, Object) |
Executa processos personalizados adicionais após remover um elemento da instância de DictionaryBase. (Herdado de DictionaryBase) |
OnSet(Object, Object, Object) |
Executa processos personalizados adicionais antes de definir um valor na instância DictionaryBase. (Herdado de DictionaryBase) |
OnSetComplete(Object, Object, Object) |
Executa processos personalizados adicionais após configurar um valor na instância de DictionaryBase. (Herdado de DictionaryBase) |
OnValidate(Object, Object) |
Executa processos personalizados adicionais ao validar o elemento com a chave e o valor especificados. (Herdado de DictionaryBase) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (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). (Herdado de DictionaryBase) |
ICollection.SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso a um objeto DictionaryBase. (Herdado de DictionaryBase) |
IDictionary.Add(Object, Object) |
Adiciona um elemento com a chave e o valor especificados ao DictionaryBase. (Herdado de DictionaryBase) |
IDictionary.Contains(Object) |
Determina se a DictionaryBase contém uma chave específica. (Herdado de DictionaryBase) |
IDictionary.IsFixedSize |
Obtém um valor que indica se o objeto DictionaryBase tem um tamanho fixo. (Herdado de DictionaryBase) |
IDictionary.IsReadOnly |
Obtém um valor que indica se um objeto DictionaryBase é somente leitura. (Herdado de DictionaryBase) |
IDictionary.Item[Object] |
Obtém ou define o valor associado à chave especificada. (Herdado de DictionaryBase) |
IDictionary.Keys |
Obtém um objeto ICollection que contém as chaves no objeto DictionaryBase. (Herdado de DictionaryBase) |
IDictionary.Remove(Object) |
Remove o elemento com a chave especificada do DictionaryBase. (Herdado de DictionaryBase) |
IDictionary.Values |
Obtém um objeto ICollection que contém os valores no objeto DictionaryBase. (Herdado de DictionaryBase) |
IEnumerable.GetEnumerator() |
Retorna um IEnumerator que itera pelo DictionaryBase. (Herdado de DictionaryBase) |
Métodos de Extensão
Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |
AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |