private void LogOdd(object sender, OddNumberEventArgs args) { if (args.CurrentNumber == 5) { args.CancelRequested = true; } Console.WriteLine($"subscriber1 => odd number: {args.CurrentNumber}"); }
public void ScanArray() { ScanStart?.Invoke(this, EventArgs.Empty); for (var i = 0; i < numbers.Length; i++) { if (numbers[i] % 2 == 1) { var args = new OddNumberEventArgs(numbers[i]); IterateOdd?.Invoke(this, args); if (args.CancelRequested) { break; } } } ScanDone?.Invoke(this, EventArgs.Empty); }
private static void OnIterateOdd(object sender, OddNumberEventArgs args) { Console.WriteLine($"subscriber2 => odd number: {args.CurrentNumber}"); }