У меня есть следующее:
public class Process
{
private Action<Result> CaptureFinished = null;
public Result StartProcess(Action<Result> onCaptureFinished)
{
CaptureFinished = onCaptureFinished;
Console.WriteLine("Process invokes capture");
CaptureFinished.Invoke(new Result("This is the capture"));
return new Result("OK");
}
}
Чтобы этот класс использовался другим процессом и захватывал что-то нелинейным образом, метод OnCaptureFinished помогает процессу получения получить захват.
public class Consumer
{
private Process _process;
public Consumer(Process process)
{
_process = process;
_process.StartProcess(Consume);
}
public void Consume(Result result)
{
Console.WriteLine("Consumer receives: {0}", result.ToString());
}
}
Я вынужден создать другой процесс, который получит перехват, доставленный классом «Process1», этот другой процесс не может использовать метод StartProcess (как вышеупомянутый потребитель класса), но может контролировать созданиекласс «Process», поэтому я думал о внедрении другого объекта, который можно связать с методом OnCaptureFinished.Можно ли это сделать с помощью обработчика событий?