InstanceDataCollection Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Tillhandahåller en starkt typad samling InstanceData objekt.
public ref class InstanceDataCollection : System::Collections::DictionaryBase
public class InstanceDataCollection : System.Collections.DictionaryBase
type InstanceDataCollection = class
inherit DictionaryBase
Public Class InstanceDataCollection
Inherits DictionaryBase
- Arv
Exempel
I följande kodexempel visas instansdata för en viss på PerformanceCounterCategory den lokala datorn. Den visar först en numrerad lista med PerformanceCounterCategory namn. När användaren har angett numret för en av kategorierna hämtar InstanceDataCollectionCollection exemplet för den PerformanceCounterCategory. Sedan konverteras samlingen som returneras av Values till en matris med InstanceDataCollection objekt. Exemplet visar även instansdata som är associerade med var och en InstanceData av varje 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
Kommentarer
Klassen InstanceDataCollection representerar en samling som innehåller alla instansdata för en räknare. Den här samlingen finns i InstanceDataCollectionCollection när du använder ReadCategory metoden.
Konstruktorer
| Name | Description |
|---|---|
| InstanceDataCollection(String) |
Föråldrad.
Initierar en ny instans av InstanceDataCollection klassen med den angivna prestandaräknaren (som definierar en prestandainstans). |
Egenskaper
| Name | Description |
|---|---|
| Count |
Hämtar antalet element som finns i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| CounterName |
Hämtar namnet på prestandaräknaren vars instansdata du vill hämta. |
| Dictionary |
Hämtar listan över element som finns i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| InnerHashtable |
Hämtar listan över element som finns i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| Item[String] |
Hämtar instansdata som är associerade med den här räknaren. Det här är vanligtvis en uppsättning råa räknarvärden. |
| Keys |
Hämtar objekt- och räknarregisternycklarna för de objekt som är associerade med dessa instansdata. |
| Values |
Hämtar de råa räknarvärden som utgör instansdata för räknaren. |
Metoder
| Name | Description |
|---|---|
| Clear() |
Rensar innehållet i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| Contains(String) |
Avgör om en prestandainstans med ett angivet namn (identifieras av ett av de indexerade InstanceData objekten) finns i samlingen. |
| CopyTo(Array, Int32) |
Kopierar elementen DictionaryBase till en endimensionell Array vid det angivna indexet. (Ärvd från DictionaryBase) |
| CopyTo(InstanceData[], Int32) |
Kopierar objekten i samlingen till den angivna endimensionella matrisen vid det angivna indexet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetEnumerator() |
Returnerar en IDictionaryEnumerator som itererar genom instansen DictionaryBase . (Ärvd från DictionaryBase) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnClear() |
Utför ytterligare anpassade processer innan innehållet i instansen rensas DictionaryBase . (Ärvd från DictionaryBase) |
| OnClearComplete() |
Utför ytterligare anpassade processer när innehållet i instansen har rensats DictionaryBase . (Ärvd från DictionaryBase) |
| OnGet(Object, Object) |
Hämtar elementet med den angivna nyckeln och värdet i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnInsert(Object, Object) |
Utför ytterligare anpassade processer innan du infogar ett nytt element i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnInsertComplete(Object, Object) |
Utför ytterligare anpassade processer när du har infogat ett nytt element i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnRemove(Object, Object) |
Utför ytterligare anpassade processer innan du tar bort ett element från instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnRemoveComplete(Object, Object) |
Utför ytterligare anpassade processer när du har tagit bort ett element från instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnSet(Object, Object, Object) |
Utför ytterligare anpassade processer innan du anger ett värde i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnSetComplete(Object, Object, Object) |
Utför ytterligare anpassade processer när du har angett ett värde i instansen DictionaryBase . (Ärvd från DictionaryBase) |
| OnValidate(Object, Object) |
Utför ytterligare anpassade processer när elementet verifieras med den angivna nyckeln och värdet. (Ärvd från DictionaryBase) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| ICollection.IsSynchronized |
Hämtar ett värde som anger om åtkomsten till ett DictionaryBase objekt synkroniseras (trådsäker). (Ärvd från DictionaryBase) |
| ICollection.SyncRoot |
Hämtar ett objekt som kan användas för att synkronisera åtkomst till ett DictionaryBase objekt. (Ärvd från DictionaryBase) |
| IDictionary.Add(Object, Object) |
Lägger till ett element med den angivna nyckeln och värdet i DictionaryBase. (Ärvd från DictionaryBase) |
| IDictionary.Contains(Object) |
Avgör om innehåller DictionaryBase en specifik nyckel. (Ärvd från DictionaryBase) |
| IDictionary.IsFixedSize |
Hämtar ett värde som anger om ett DictionaryBase objekt har en fast storlek. (Ärvd från DictionaryBase) |
| IDictionary.IsReadOnly |
Hämtar ett värde som anger om ett DictionaryBase objekt är skrivskyddat. (Ärvd från DictionaryBase) |
| IDictionary.Item[Object] |
Hämtar eller anger värdet som är associerat med den angivna nyckeln. (Ärvd från DictionaryBase) |
| IDictionary.Keys |
Hämtar ett ICollection objekt som innehåller nycklarna i objektet DictionaryBase . (Ärvd från DictionaryBase) |
| IDictionary.Remove(Object) |
Tar bort elementet med den angivna nyckeln från DictionaryBase. (Ärvd från DictionaryBase) |
| IDictionary.Values |
Hämtar ett ICollection objekt som innehåller värdena i objektet DictionaryBase . (Ärvd från DictionaryBase) |
| IEnumerable.GetEnumerator() |
Returnerar en IEnumerator som itererar via DictionaryBase. (Ärvd från DictionaryBase) |
Tilläggsmetoder
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Möjliggör parallellisering av en fråga. |
| AsQueryable(IEnumerable) |
Konverterar en IEnumerable till en IQueryable. |
| Cast<TResult>(IEnumerable) |
Omvandlar elementen i en IEnumerable till den angivna typen. |
| OfType<TResult>(IEnumerable) |
Filtrerar elementen i en IEnumerable baserat på en angiven typ. |