本文整理汇总了C#中ISubject.Where方法的典型用法代码示例。如果您正苦于以下问题:C# ISubject.Where方法的具体用法?C# ISubject.Where怎么用?C# ISubject.Where使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISubject
的用法示例。
在下文中一共展示了ISubject.Where方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SuspensionService
/// <summary>
/// Initializes a new instance of the <see cref="SuspensionService"/> class.
/// Based on WinRTSuspensionHost in ReactiveUI.Mobile
/// </summary>
public SuspensionService(Application app, ISubject<LaunchActivatedEventArgs> launched)
{
var launchNew = new[] { ApplicationExecutionState.ClosedByUser, ApplicationExecutionState.NotRunning, };
this.IsLaunchingNew = launched
.Where(x => launchNew.Contains(x.PreviousExecutionState))
.Select(x => x.Arguments);
this.IsResuming = launched
.Where(x => x.PreviousExecutionState == ApplicationExecutionState.Terminated)
.Select(x => x.Arguments);
var unpausing = new[] { ApplicationExecutionState.Suspended, ApplicationExecutionState.Running, };
this.IsUnpausing = launched
.Where(x => unpausing.Contains(x.PreviousExecutionState))
.Select(x => x.Arguments);
var shouldPersistState = new Subject<SuspendingEventArgs>();
app.Suspending += (o, e) => shouldPersistState.OnNext(e);
this.ShouldPersistState =
shouldPersistState.Select(x =>
{
var deferral = x.SuspendingOperation.GetDeferral();
return Disposable.Create(deferral.Complete);
});
var shouldInvalidateState = new Subject<Unit>();
app.UnhandledException += (o, e) => shouldInvalidateState.OnNext(Unit.Default);
this.ShouldInvalidateState = shouldInvalidateState;
}