2 回答
TA贡献1802条经验 获得超10个赞
Generate是UniRX中没有的运算符。
您可以尝试使用操作员观察者库或使用 Create 运算符创建自己的生成版本。
你到底想做什么?也许我可以以某种方式帮助你。
TA贡献1852条经验 获得超1个赞
我试过了...这是工作。但我不知道可以吗?=D
public static IObservable<DateTime> CreateRandomTimer(int minValue, int maxValue)
{
return Observable.CreateSafe<DateTime>(observer =>
{
var random = new Random();
var timer = new Timer
{
Enabled = true,
Interval = random.Next(minValue, maxValue) * 1000
};
void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
observer.OnNext(e.SignalTime);
var currentTimer = (Timer) sender;
currentTimer.Stop();
currentTimer.Interval = random.Next(minValue, maxValue) * 1000;
currentTimer.Start();
}
timer.Elapsed += OnTimerElapsed;
timer.Start();
return Disposable.Create(() =>
{
timer.Elapsed -= OnTimerElapsed;
timer.Dispose();
});
});
}
- 2 回答
- 0 关注
- 66 浏览
添加回答
举报