system.reactive Condivisione di una singola sottoscrizione (Publish + RefCount)

Esempio

Questo codice si iscriverà alle e- emails osservabili due volte:

emails.Where(email => email.From == "John").Subscribe(email => Console.WriteLine("A"));
emails.Where(email => email.From == "Mary").Subscribe(email => Console.WriteLine("B"));

Per condividere una singola iscrizione alle emails , possiamo usare invece Publish e RefCount :

var _emails = emails.Publish().RefCount();
_emails.Where(email => email.From == "John").Subscribe(email => Console.WriteLine("A"));
_emails.Where(email => email.From == "Mary").Subscribe(email => Console.WriteLine("B"));