public void FanOut <TEvent, TChild>(Func <TEvent, IEnumerable <TChild> > fanOutFunc, FanoutMode mode = FanoutMode.AfterGrouping) { var fanout = new FanOutOperator <TEvent, TChild>(fanOutFunc) { Mode = mode }; switch (mode) { case FanoutMode.AfterGrouping: _afterGroupingFanoutRules.Add(fanout); break; case FanoutMode.BeforeGrouping: _beforeGroupingFanoutRules.Add(fanout); break; } }
public void FanOut <TEvent, TChild>(Func <TEvent, IEnumerable <TChild> > fanOutFunc) { var fanout = new FanOutOperator <TEvent, TChild>(fanOutFunc); _fanouts.Add(fanout); }