本文整理汇总了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);
}
示例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);
}
示例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);
}
示例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);
}