Esta documentación está archivada y no tiene mantenimiento.

InstanceDataCollection.Item (Propiedad)

Actualización: noviembre 2007

Obtiene los datos de instancia asociados a este contador. Normalmente, es un conjunto de valores de contador sin formato.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public InstanceData Item[
	string instanceName
] { get; }
/** @property */
public InstanceData get_Item(
	String instanceName
)

JScript no admite propiedades indizadas.

Parámetros

instanceName
Tipo: System.String
Nombre de la instancia de categoría del contador de rendimiento, o cadena vacía (""), si la categoría contiene una sola instancia.

Valor de propiedad

Tipo: System.Diagnostics.InstanceData
Elemento InstanceData por el que se indiza el objeto InstanceDataCollection.

ExcepciónCondición
ArgumentNullException

El valor del parámetro instanceName es null.

El parámetro instanceName no distingue entre mayúsculas y minúsculas.

El ejemplo de código siguiente acepta un nombre de categoría de PerformanceCounter, un nombre de contador y un nombre de instancia desde la línea de comandos. Obtiene el objeto InstanceDataCollectionCollection para la categoría, que consiste en una colección de objetos InstanceDataCollection. De esa colección obtiene el objeto InstanceDataCollection particular para el contador especificado. A continuación, si la instancia existe, el ejemplo utiliza la propiedad Item (a la que se hace referencia como indizador) para obtener el objeto InstanceData asociado.

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);
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
Mostrar: