c # как передать параметры для обработки OutputHandler?

#c# #process

#c# #процесс

Вопрос:

Я открываю некоторые process и читаю его выходные данные, и я хочу передать этой функции другой параметр:

     public void Start(string fileName, string arguments)
    {
        Process process = new Process();
        process.StartInfo.FileName = fileName;
        process.StartInfo.Arguments = arguments;
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.RedirectStandardOutput = true;
        process.StartInfo.RedirectStandardError = true;
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
        process.OutputDataReceived  = new DataReceivedEventHandler(OutputHandler);
        process.ErrorDataReceived  = new DataReceivedEventHandler(OutputHandler);
        process.Start();
        process.BeginOutputReadLine();
        process.BeginErrorReadLine();
    }

    private void OutputHandler(object sender, DataReceivedEventArgs e)
    {
        App.Current.Dispatcher.Invoke((Action)delegate
        {
            string line = e.Data;
            if (line != null)
                {

                }
        });
    }
  

Комментарии:

1. Вы хотите, чтобы другой метод мог считывать строку строки (или строку отправки). прямо сейчас у вас есть строка внутри частного метода, поэтому она недоступна. Вам нужно сделать строку более доступной.

2. как это сделать? и почему я не могу отправить другой параметр из моего метода Start в OutputHandler?

3. Просто переместите строку line = «»; за пределы метода OutputHandler.

4. Нет возможности передать какой-либо объект методу OutputHandler вместо объявления его как глобального?