当前位置: 首页>>代码示例>>C#>>正文


C# Subject.GroupByUntil方法代码示例

本文整理汇总了C#中Subject.GroupByUntil方法的典型用法代码示例。如果您正苦于以下问题:C# Subject.GroupByUntil方法的具体用法?C# Subject.GroupByUntil怎么用?C# Subject.GroupByUntil使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Subject的用法示例。


在下文中一共展示了Subject.GroupByUntil方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: BugGroupByUntilFromHell

        public static void BugGroupByUntilFromHell()
        {
            Subject<int> s = new Subject<int>();
            var obs = s.GroupByUntil(i => i % 5, g => g.Throttle(TimeSpan.FromSeconds(1.0)));
            obs.Subscribe((o) =>
            {
                Console.WriteLine("Start1 " + o.Key);
                o.Subscribe(oo =>
                {
                    Console.WriteLine(oo);
                },
                () =>
                {
                    Console.WriteLine("end1");
                });
            }, () =>
            {

            });

            s.OnNext(1);
            s.OnNext(1);
            Thread.Sleep(1500);
            s.OnNext(1);
            var dos = obs.Subscribe((o) =>
            {
                Console.WriteLine("\tStart2 " + o.Key);
                o.Subscribe(oo =>
                {
                    Console.WriteLine("\t" + oo);
                },
                () =>
                {
                    Console.WriteLine("\tend2");
                });
            });
            s.OnNext(1);
            s.OnNext(1);
            Thread.Sleep(1500);
            s.OnNext(1);
            s.OnNext(1);
            s.OnNext(1);
            Thread.Sleep(1500);
            s.OnNext(1);
            s.OnNext(1);
            dos.Dispose();
            Console.WriteLine("\tkilled");
            s.OnNext(1);
            s.OnNext(1);
            s.OnNext(1);
            Thread.Sleep(2000);
            s.OnNext(1);
            s.OnNext(1);
            Thread.Sleep(2000);

            //Why the first subscription do not finish ?
        }
开发者ID:NicolasDorier,项目名称:GestSpace,代码行数:57,代码来源:Program.cs

示例2: ThrottlingEventAggregator

        public ThrottlingEventAggregator(int period)
        {
            Contract.Requires<ArgumentOutOfRangeException>(period > 0);

            _eventsSubject = new Subject<Tuple<object, Action<Action>>>();
            _eventsSubscription = _eventsSubject
                .GroupByUntil(x => x.Item1.GetType(), group => group.Throttle(TimeSpan.FromTicks(period)))
                .SelectMany(x => x.TakeLast(1))
                .Subscribe(Dispatch);

            _eventAggregator = new EventAggregator();
        }
开发者ID:smolyakoff,项目名称:signal-visualizer,代码行数:12,代码来源:ThrottlingEventAggregator.cs


注:本文中的Subject.GroupByUntil方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。