InstanceDataCollection.Item[String] 属性   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取与该计数器关联的实例数据。 这通常是一组原始计数器值。
public:
 property System::Diagnostics::InstanceData ^ default[System::String ^] { System::Diagnostics::InstanceData ^ get(System::String ^ instanceName); };public System.Diagnostics.InstanceData this[string instanceName] { get; }member this.Item(string) : System.Diagnostics.InstanceDataDefault Public ReadOnly Property Item(instanceName As String) As InstanceData参数
- instanceName
- String
性能计数器类别实例的名称,或者为空字符串 ("")(如果该类别包含单个实例)。
属性值
一个 InstanceData 项,将根据它对 InstanceDataCollection 对象进行索引。
例外
              instanceName 参数为 null。
示例
下面的代码示例接受命令行中的 PerformanceCounter 类别名称、计数器名称和实例名称。 它获取 InstanceDataCollectionCollection 类别的 ,该类别是 对象的集合 InstanceDataCollection 。 从 中,它获取 InstanceDataCollection 指定计数器的特定 。 然后,如果该实例存在,该示例将使用 Item[] (作为索引器引用的属性) 来获取关联的 InstanceData 对象。
public static void Main(string[] args)
{
    // These values can be used as arguments.
    string categoryName = "Process";
    string counterName = "Private Bytes";
    string instanceName = "Explorer";
    InstanceDataCollection idCol;
    const string SINGLE_INSTANCE_NAME = "systemdiagnosticsperfcounterlibsingleinstance";
    // Copy the supplied arguments into the local variables.
    try
    {
        categoryName = args[0];
        counterName = args[1];
        instanceName = args[2];
    }
    catch
    {
        // Ignore the exception from non-supplied arguments.
    }
    try
    {
        // Get the InstanceDataCollectionCollection for this category.
        PerformanceCounterCategory pcc = new PerformanceCounterCategory(categoryName);
        InstanceDataCollectionCollection idColCol = pcc.ReadCategory();
        // Get the InstanceDataCollection for this counter.
        idCol = idColCol[counterName];
        if (idCol==null)
        {
            throw new Exception("Counter does not exist.");
        }
    }
    catch(Exception ex)
    {
        Console.WriteLine("An error occurred getting the InstanceDataCollection for " +
            "category \"{0}\", counter \"{1}\"." +  "\n" + ex.Message, categoryName, counterName);
        return;
    }
    // If the instance name is empty, use the single-instance name.
    if (instanceName.Length==0)
    {
        instanceName = SINGLE_INSTANCE_NAME;
    }
    // Check if this instance name exists using the Contains
    // method of the InstanceDataCollection.
    if (!idCol.Contains(instanceName))
    {
        Console.WriteLine("Instance \"{0}\" does not exist in counter \"{1}\", " +
            "category \"{2}\".", instanceName, counterName, categoryName);
        return;
    }
    else
    {
        // The instance name exists, now get its InstanceData object
        // using the indexer (Item property) for the InstanceDataCollection.
        InstanceData instData = idCol[instanceName];
        Console.WriteLine("CategoryName: {0}", categoryName);
        Console.WriteLine("CounterName:  {0}", counterName);
        Console.WriteLine("InstanceName: {0}", instData.InstanceName);
        Console.WriteLine("RawValue:     {0}", instData.RawValue);
    }
}
Sub Main(ByVal args() As String)
    ' These values can be used as arguments.
    Dim categoryName As String = "Process"
    Dim counterName As String = "Private Bytes"
    Dim instanceName As String = "Explorer"
    Dim idCol As InstanceDataCollection
    Const SINGLE_INSTANCE_NAME As String = _
        "systemdiagnosticsperfcounterlibsingleinstance"
    ' Copy the supplied arguments into the local variables.
    Try
        categoryName = args(0)
        counterName = args(1)
        instanceName = args(2)
    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)
        Dim idColCol As InstanceDataCollectionCollection = _
            pcc.ReadCategory()
        ' Get the InstanceDataCollection for this counter.
        idCol = idColCol(counterName)
        If idCol Is Nothing Then
            Throw New Exception("Counter does not exist.")
        End If
    Catch ex As Exception
        Console.WriteLine( _
            "An error occurred getting the InstanceDataCollection for " & _
            "category ""{0}"", counter ""{1}""." & vbCrLf & ex.Message, _
            categoryName, counterName)
        Return
    End Try
    ' If the instance name is empty, use the single-instance name.
    If instanceName.Length = 0 Then
        instanceName = SINGLE_INSTANCE_NAME
    End If
    ' Check if this instance name exists using the Contains
    ' method of the InstanceDataCollection.
    If Not idCol.Contains(instanceName) Then
        Console.WriteLine( _
            "Instance ""{0}"" does not exist in counter ""{1}"", " & _
            "category ""{2}"".", instanceName, counterName, categoryName)
        Return
    Else
        ' The instance name exists, now get its InstanceData object
        ' using the indexer (Item property) for the InstanceDataCollection.
        Dim instData As InstanceData = idCol(instanceName)
        Console.WriteLine("CategoryName: {0}", categoryName)
        Console.WriteLine("CounterName:  {0}", counterName)
        Console.WriteLine("InstanceName: {0}", instData.InstanceName)
        Console.WriteLine("RawValue:     {0}", instData.RawValue)
    End If
End Sub
注解
参数 instanceName 不区分大小写。