コード例 #1
0
        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;
            }
        }
コード例 #2
0
        public void FanOut <TEvent, TChild>(Func <TEvent, IEnumerable <TChild> > fanOutFunc)
        {
            var fanout = new FanOutOperator <TEvent, TChild>(fanOutFunc);

            _fanouts.Add(fanout);
        }