c# - Resubscribe IObservable after merge -


i have iobservable listening 1 source:

_itemschanged = observable.merge(item1.observeitemchanged); _itemschanged.subscribe(_ => console.writeline("item changed")); 

as app runs, additional items might added , want merge new item's stream existing one:

var item2 = new item(); _itemschanged.merge(item2.observeitemchanged); 

however, see output when item1 changed. have refresh subscription somehow? expected merged stream picked right away.

the basic idea use subject<iobservable<t>> subscribed to. lets add more items on fly. here way abstract bit (the subject subject<item> project , merge observable<t>):

    var subject = new subject<item>();     iobserver<item> newitems = subject;     iobservable<t> itemschanged = subject.selectmany(item => item.observeitemchanged);     itemschanged.subscribe(_ => console.writeline("change"));      // add items     newitems.onnext(item1);     newitems.onnext(item2); 

Comments

Popular posts from this blog

linux - xterm copying to CLIPBOARD using copy-selection causes automatic updating of CLIPBOARD upon mouse selection -

c++ - qgraphicsview horizontal scrolling always has a vertical delta -