Last active
December 16, 2015 13:38
-
-
Save renestein/5442534 to your computer and use it in GitHub Desktop.
P. riedl emwac
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var ts = myAgentList.ToObservable().Concat( | |
Observable.FromEventPattern | |
<NotifyCollectionChangedEventHandler, NotifyCollectionChangedEventArgs> | |
( | |
handler => myAgentList.CollectionChanged += handler, | |
handler => myAgentList.CollectionChanged -= handler | |
) | |
.Where(e => e.EventArgs.Action == NotifyCollectionChangedAction.Add) | |
.SelectMany(c => c.EventArgs.NewItems.Cast<MyAgent>())) | |
.Select(agent => Observable.FromEventPattern<MyAgent.TickCallBack, int>(handler => agent.OnTick += handler, | |
handler => agent.OnTick -= handler)) | |
.Merge(); | |
using (ts/*ObserveOn(new SynchronizationContextScheduler(SynchronizationContext.Current))*/ | |
.Subscribe(ev => Console.WriteLine("{0}:{1} Thread: {2}", ev.Sender, | |
ev.EventArgs, | |
Thread.CurrentThread.ManagedThreadId), | |
Console.WriteLine, | |
() => Console.WriteLine("OnCompleted"))) | |
{ | |
// Něco děláme, třeba přidáme agenty do kolekce … | |
Console.ReadLine(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment