本文整理汇总了C#中IObservable.Merge方法的典型用法代码示例。如果您正苦于以下问题:C# IObservable.Merge方法的具体用法?C# IObservable.Merge怎么用?C# IObservable.Merge使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IObservable
的用法示例。
在下文中一共展示了IObservable.Merge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessRecord
protected override void ProcessRecord()
{
switch (ParameterSetName)
{
case "wellKnown":
listener = listener.Merge(WellKnownEventSource.Select(x => GetWellKnownEventListener(x)).Merge());
break;
case "IIS":
listener = listener.Merge(IISEventSource.Select(x => GetIISEventListener(x)).Merge());
break;
default:
listener = listener.Merge(NameOrGuid.Select(x => ObservableEventListener.FromTraceEvent(x)).Merge());
break;
}
}
示例2: ConfigureLineChanges
private void ConfigureLineChanges(IObservable<Branch> activeBranch)
{
var lineChanges = activeBranch.Merge(fileSystem.ThrottleFirst(TimeSpan.FromSeconds(15)).Select(c => this.currentRepositoryModel.CurrentBranch)).Select(b =>
{
Commit lastBranchCommit = b.Tip;
CompareOptions options = new CompareOptions()
{
IncludeUnmodified = false,
ContextLines = 5,
InterhunkLines = 5
};
var repo = this.currentRepositoryModel.Repository;
//CommitFilter filter = new CommitFilter() { Since = b.Tip.Sha };
var patch = repo.Diff.Compare<Patch>(repo.Head.Tip.Tree, DiffTargets.WorkingDirectory);
return new { Added = patch.Sum(p => p.LinesAdded), Removed = patch.Sum(p => p.LinesDeleted) };
});
this.linesAdded = lineChanges.Select(c => c.Added).ToProperty(this, a => a.LinesAdded, 0, Scheduler.Immediate);
this.linesRemoved = lineChanges.Select(c => c.Removed).ToProperty(this, a => a.LinesRemoved, 0, Scheduler.Immediate);
}