Это минимальный пример, показывающий (для меня) неожиданное поведение:
Код: Выделить всё
var broadCastBlock = new BroadcastBlock(i => i);
Func actionGenerator = (s) => {
return new Action(i => {
Console.WriteLine(s + " " + i);
});
};
Action actionFoo = actionGenerator("FOO");
Action actionBar = actionGenerator("BAR");
Console.WriteLine("-----");
var observable = broadCastBlock.AsObservable();
observable.Subscribe(actionFoo);
observable.Subscribe(actionBar);
for (int i = 0; i < 10; i++) {
broadCastBlock.Post(i);
}
Thread.Sleep(1000);
Код: Выделить всё
-----
FOO 0
BAR 0
FOO 9
BAR 9
Почему это происходит и как я могу обеспечить передачу всех значений моим наблюдателям?
Подробнее здесь: https://stackoverflow.com/questions/791 ... all-values