Data Propiedad
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

DataReceivedEventArgs.Data (Propiedad)

 

Obtiene la línea de caracteres escrita en un flujo de salida de Process redirigido.

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

public string Data { get; }

Valor de propiedad

Type: System.String

Línea escrita por una secuencia Process asociada en su secuencia StandardOutput o StandardError redirigida.

Cuando se redirige la secuencia StandardOutput o StandardError de un objeto Process al controlador de evento, se provoca un evento cada vez que el proceso escribe una línea en la secuencia redirigida.La propiedad Data es la línea que el objeto Process escribió en el flujo de salida redirigido.El controlador de evento puede utilizar la propiedad Data para filtrar el resultado del proceso o escribir el resultado en una ubicación alternativa.Por ejemplo, se podría crear un controlador de evento que almacene todas las líneas de salida de error en un archivo de registro de errores designado.

Se define una línea como una secuencia de caracteres seguida de un salto de línea ("\n") o un retorno de carro seguido de un salto de línea ("\r\n").Los caracteres de la línea están codificados mediante la página de códigos ANSI predeterminada del sistema.La propiedad Data no incluye el carácter de retorno de carro o avance de línea final.

Cuando esta secuencia se cierra, se envía una línea null al controlador de eventos.Asegúrese de que el controlador del evento compruebe la propiedad Data de forma apropiada antes de obtener acceso a ella.Por ejemplo, puede utilizar el método estático String.IsNullOrEmpty para validar la propiedad Data en el controlador del evento.

El ejemplo de código siguiente ilustra un controlador de evento simple asociado al evento OutputDataReceived.El controlador de eventos recibe líneas de texto de la secuencia de StandardOutput redirigida, aplica formato al texto y escribe el texto en la pantalla.

using System;
using System.IO;
using System.Diagnostics;
using System.Text;

class StandardAsyncOutputExample
{
    private static int lineCount = 0;
    private static StringBuilder output = new StringBuilder();

    public static void Main()
    {
        Process process = new Process();
        process.StartInfo.FileName = "ipconfig.exe";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.OutputDataReceived += new DataReceivedEventHandler((sender, e) =>
        {
            // Prepend line numbers to each line of the output.
            if (!String.IsNullOrEmpty(e.Data))
            {
                lineCount++;
                output.Append("\n[" + lineCount + "]: " + e.Data);
            }
        });

        process.Start();

        // Asynchronously read the standard output of the spawned process. 
        // This raises OutputDataReceived events for each line of output.
        process.BeginOutputReadLine();
        process.WaitForExit();

        // Write the redirected output to this application's window.
        Console.WriteLine(output);

        process.WaitForExit();
        process.Close();

        Console.WriteLine("\n\nPress any key to exit.");
        Console.ReadLine();
    }
}

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar:
© 2016 Microsoft