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


C# Behavior.Map方法代码示例

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


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

示例1: Form1

        public Form1()
        {
            InitializeComponent();

            startBtn.Click += (o, s) => runningEvent.Fire(true);

            stopBtn.Click += (o, s) =>
            {
                degreesSignal.Stop();
                runningEvent.Fire(false);
            };

            frequency.ValueChanged += (o, s) => intervalChanged.Fire(frequency.Value);

            degreesSignal = new Signal<double>(new AutoDouble(0.0, 0.001), Frequency.Hz(0.0), this.CreateDispatcher());
            degreesSignal.Subscribe(SetDegValue);

            signalTickCount = degreesSignal.Snapshot(new AutoLong());
            signalTickCount.Subscribe(SetTickCount);

            radiansSignal = degreesSignal.Map(d => d * RadsPerDeg);
            radiansSignal.Subscribe(SetRadValue);

            sineSignal = radiansSignal.Map(Math.Sin);
            sineSignal.Subscribe(SetSinValue);

            cosineSignal = radiansSignal.Map(Math.Cos);
            cosineSignal.Subscribe(SetCosValue);

            runningEvent = new FirableEvent<bool>();
            runningEvent.Subscribe(r => { degreesSignal.Running = r; });

            runningBehavior = runningEvent.Hold(false);
            runningBehavior.SubscribeWithInitialFire(EnableControls);

            intervalChanged = new FirableEvent<decimal>();
            intervalBehavior = intervalChanged.Hold(frequency.Value);
            intervalBehavior.Map(Frequency.Hz).SubscribeWithInitialFire(FrequencyChanged);
        }
开发者ID:jerometerry,项目名称:potassium,代码行数:39,代码来源:Form1.cs

示例2: TestMapBLateListen

 public void TestMapBLateListen()
 {
     var publisher = new FirableEvent<int>();
     var behavior = new Behavior<int>(6, publisher);
     var results = new List<string>();
     var map = behavior.Map(x => x.ToString(CultureInfo.InvariantCulture));
     publisher.Fire(2);
     var listener = map.SubscribeWithInitialFire(results.Add);
     publisher.Fire(8);
     listener.Dispose();
     map.Dispose();
     behavior.Dispose();
     AssertArraysEqual(Arrays<string>.AsList("2", "8"), results);
 }
开发者ID:jerometerry,项目名称:potassium,代码行数:14,代码来源:BehaviorTester.cs

示例3: TestMapB3

 public void TestMapB3()
 {
     var publisher = new FirableEvent<int>();
     var behavior = new Behavior<int>(1, publisher);
     var behavior1 = behavior.Map(x => x * 3);
     var results = new List<int>();
     var listener = behavior1.SubscribeWithInitialFire(results.Add);
     publisher.Fire(2);
     listener.Dispose();
     behavior.Dispose();
     AssertArraysEqual(Arrays<int>.AsList(3, 6), results);
 }
开发者ID:jerometerry,项目名称:potassium,代码行数:12,代码来源:BehaviorTester.cs

示例4: TestLiftGlitch

 public void TestLiftGlitch()
 {
     var publisher = new FirableEvent<int>();
     var behavior = new Behavior<int>(1, publisher);
     var mappedBehavior1 = behavior.Map(x => x * 3);
     var mappedBehavior2 = behavior.Map(x => x * 5);
     var results = new List<string>();
     var combinedBehavior = Functor.Lift((x, y) => x + " " + y, mappedBehavior1, mappedBehavior2);
     var listener = combinedBehavior.SubscribeWithInitialFire(results.Add);
     publisher.Fire(2);
     listener.Dispose();
     behavior.Dispose();
     AssertArraysEqual(Arrays<string>.AsList("3 5", "6 10"), results);
 }
开发者ID:jerometerry,项目名称:potassium,代码行数:14,代码来源:BehaviorTester.cs


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