InstanceDataCollection Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt een sterk getypte verzameling InstanceData objecten.
public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
inherit DictionaryBase
Public Class InstanceDataCollection
Inherits DictionaryBase
- Overname
Voorbeelden
In het volgende codevoorbeeld worden de exemplaargegevens voor een bepaalde PerformanceCounterCategory computer weergegeven. Er wordt eerst een genummerde lijst met PerformanceCounterCategory namen weergegeven. Nadat de gebruiker het nummer van een van de categorieën heeft ingevoerd, wordt dat InstanceDataCollectionCollection in het voorbeeld weergegeven PerformanceCounterCategory. Vervolgens wordt de verzameling die door Values wordt geretourneerd, geconverteerd naar een matrix met InstanceDataCollection objecten. In het voorbeeld worden ook de instantiegegevens weergegeven die aan elk InstanceData van beide InstanceDataCollectionzijn gekoppeld.
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
Opmerkingen
De InstanceDataCollection klasse vertegenwoordigt een verzameling die alle exemplaargegevens voor een teller bevat. Deze verzameling bevindt zich in de InstanceDataCollectionCollection methode wanneer u de ReadCategory methode gebruikt.
Constructors
| Name | Description |
|---|---|
| InstanceDataCollection(String) |
Verouderd.
Initialiseert een nieuw exemplaar van de InstanceDataCollection klasse met behulp van het opgegeven prestatiemeteritems (waarmee een prestatie-exemplaar wordt gedefinieerd). |
Eigenschappen
| Name | Description |
|---|---|
| Count |
Hiermee haalt u het aantal elementen op dat in het DictionaryBase exemplaar is opgenomen. (Overgenomen van DictionaryBase) |
| CounterName |
Hiermee haalt u de naam op van de prestatiemeteritem waarvan u de exemplaargegevens wilt ophalen. |
| Dictionary |
Hiermee haalt u de lijst met elementen op die zijn opgenomen in het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| InnerHashtable |
Hiermee haalt u de lijst met elementen op die zijn opgenomen in het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| Item[String] |
Hiermee haalt u de exemplaargegevens op die aan deze teller zijn gekoppeld. Dit is doorgaans een set onbewerkte tellerwaarden. |
| Keys |
Hiermee haalt u de registersleutels van het object en teller op voor de objecten die zijn gekoppeld aan deze exemplaargegevens. |
| Values |
Haalt de onbewerkte tellerwaarden op die de exemplaargegevens voor de teller vormen. |
Methoden
| Name | Description |
|---|---|
| Clear() |
Hiermee wist u de inhoud van het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| Contains(String) |
Bepaalt of een prestatie-exemplaar met een opgegeven naam (geïdentificeerd door een van de geïndexeerde InstanceData objecten) in de verzameling bestaat. |
| CopyTo(Array, Int32) |
Kopieert de DictionaryBase elementen naar een eendimensionale Array waarde op de opgegeven index. (Overgenomen van DictionaryBase) |
| CopyTo(InstanceData[], Int32) |
Kopieert de items in de verzameling naar de opgegeven eendimensionale matrix op de opgegeven index. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetEnumerator() |
Retourneert een IDictionaryEnumerator die door het DictionaryBase exemplaar wordt herhaald. (Overgenomen van DictionaryBase) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| OnClear() |
Voert aanvullende aangepaste processen uit voordat de inhoud van het DictionaryBase exemplaar wordt gewist. (Overgenomen van DictionaryBase) |
| OnClearComplete() |
Voert extra aangepaste processen uit nadat de inhoud van het DictionaryBase exemplaar is gewist. (Overgenomen van DictionaryBase) |
| OnGet(Object, Object) |
Hiermee haalt u het element op met de opgegeven sleutel en waarde in het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| OnInsert(Object, Object) |
Voert aanvullende aangepaste processen uit voordat u een nieuw element in het DictionaryBase exemplaar invoegt. (Overgenomen van DictionaryBase) |
| OnInsertComplete(Object, Object) |
Voert extra aangepaste processen uit na het invoegen van een nieuw element in het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| OnRemove(Object, Object) |
Voert aanvullende aangepaste processen uit voordat een element uit het DictionaryBase exemplaar wordt verwijderd. (Overgenomen van DictionaryBase) |
| OnRemoveComplete(Object, Object) |
Voert extra aangepaste processen uit nadat u een element uit het DictionaryBase exemplaar hebt verwijderd. (Overgenomen van DictionaryBase) |
| OnSet(Object, Object, Object) |
Voert extra aangepaste processen uit voordat u een waarde instelt in het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| OnSetComplete(Object, Object, Object) |
Voert extra aangepaste processen uit na het instellen van een waarde in het DictionaryBase exemplaar. (Overgenomen van DictionaryBase) |
| OnValidate(Object, Object) |
Voert extra aangepaste processen uit bij het valideren van het element met de opgegeven sleutel en waarde. (Overgenomen van DictionaryBase) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICollection.IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot een DictionaryBase object wordt gesynchroniseerd (thread safe). (Overgenomen van DictionaryBase) |
| ICollection.SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot een DictionaryBase object te synchroniseren. (Overgenomen van DictionaryBase) |
| IDictionary.Add(Object, Object) |
Voegt een element met de opgegeven sleutel en waarde toe aan de DictionaryBase. (Overgenomen van DictionaryBase) |
| IDictionary.Contains(Object) |
Bepaalt of de DictionaryBase sleutel een specifieke sleutel bevat. (Overgenomen van DictionaryBase) |
| IDictionary.IsFixedSize |
Hiermee wordt een waarde opgehaald die aangeeft of een DictionaryBase object een vaste grootte heeft. (Overgenomen van DictionaryBase) |
| IDictionary.IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of een DictionaryBase object alleen-lezen is. (Overgenomen van DictionaryBase) |
| IDictionary.Item[Object] |
Hiermee haalt u de waarde op die is gekoppeld aan de opgegeven sleutel of stelt u deze in. (Overgenomen van DictionaryBase) |
| IDictionary.Keys |
Hiermee haalt u een ICollection object op met de sleutels in het DictionaryBase object. (Overgenomen van DictionaryBase) |
| IDictionary.Remove(Object) |
Hiermee verwijdert u het element met de opgegeven sleutel uit de DictionaryBase. (Overgenomen van DictionaryBase) |
| IDictionary.Values |
Hiermee haalt u een ICollection object op met de waarden in het DictionaryBase object. (Overgenomen van DictionaryBase) |
| IEnumerable.GetEnumerator() |
Retourneert een IEnumerator die door de DictionaryBase. (Overgenomen van DictionaryBase) |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |