InstanceDataCollectionCollection.Item 属性

获取指定计数器的实例数据。

**命名空间:**System.Diagnostics
**程序集:**System(在 system.dll 中)

语法

声明
Public ReadOnly Default Property Item ( _
    counterName As String _
) As InstanceDataCollection
用法
Dim instance As InstanceDataCollectionCollection
Dim counterName As String
Dim value As InstanceDataCollection

value = instance(counterName)
public InstanceDataCollection this [
    string counterName
] { get; }
public:
property InstanceDataCollection^ default [String^] {
    InstanceDataCollection^ get (String^ counterName);
}
/** @property */
public InstanceDataCollection get_Item (String counterName)
JScript 支持使用索引属性,但不支持进行新的声明。

参数

  • counterName
    性能计数器的名称。

属性值

一个 InstanceDataCollection 项,将根据它对 InstanceDataCollectionCollection 对象进行索引。

异常

异常类型 条件

ArgumentNullException

counterName 参数为 空引用(在 Visual Basic 中为 Nothing)。

备注

counterName 参数不区分大小写。

集合中每个 InstanceDataCollection 对象均包含一个实例的所有计数器的性能数据。数据先根据计数器名称进行索引,然后根据实例名称进行索引。索引器使用 counterName 参数逐一通过与该实例数据集合关联的计数器。

示例

下面的代码示例从命令行接受 PerformanceCounter 类别名称和计数器名称。它获取 PerformanceCounterCategoryInstanceDataCollectionCollection。然后,如果 PerformanceCounter 存在,则示例使用 Item 属性(引用为索引器)来获取关联 InstanceDataCollection,并显示来自集合的实例名称。

Sub Main(ByVal args() As String)
    Dim categoryName As String = ""
    Dim counterName As String = ""

    Dim idColCol As InstanceDataCollectionCollection

    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
    Catch ex As Exception
        ' Ignore the exception from non-supplied arguments.
    End Try

    Try
        ' Get the InstanceDataCollectionCollection for this category.
        Dim pcc As New PerformanceCounterCategory(categoryName)
        idColCol = pcc.ReadCategory()
    Catch ex As Exception
        Console.WriteLine( _
            "An error occurred getting the InstanceDataCollection for " & _
            "category ""{0}""." & vbCrLf & ex.Message, categoryName)
        Return
    End Try

    ' Check if this counter name exists using the Contains
    ' method of the InstanceDataCollectionCollection.
    If Not idColCol.Contains(counterName) Then
        Console.WriteLine( _
            "Counter ""{0}"" does not exist in category ""{1}"".", _
            counterName, categoryName)
        Return
    Else
        ' Now get the counter's InstanceDataCollection object using the
        ' indexer (Item property) for the InstanceDataCollectionCollection.
        Dim countData As InstanceDataCollection = idColCol(counterName)

        Dim idColKeys As ICollection = countData.Keys
        Dim idColKeysArray(idColKeys.Count - 1) As String
        idColKeys.CopyTo(idColKeysArray, 0)

        Console.WriteLine("Counter ""{0}"" of category ""{1}"" " & _
            "has {2} instances.", counterName, categoryName, idColKeys.Count)

        ' Display the instance names for this counter.
        Dim index As Integer
        For index = 0 To idColKeysArray.Length - 1
            Console.WriteLine("{0,4} -- {1}", index + 1, idColKeysArray(index))
        Next index
    End If
End Sub

平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

InstanceDataCollectionCollection 类
InstanceDataCollectionCollection 成员
System.Diagnostics 命名空间