Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            // Expected Output:
            // *** Events ***
            // The
            // Reactive
            // Extensions
            // 10
            // are
            // 3
            // 13
            // *** Observables ***
            // The
            // Reactive
            // Extensions
            // 10
            // are
            // 3
            // 13


            Console.WriteLine("*** Events ***");
            var             events        = new Events();
            Action <string> textHandler   = text => Console.WriteLine(text);
            Action <int>    lengthHandler = length => Console.WriteLine(length);

            events.TextChanged += textHandler;
            events.OnTextChanged("The");
            events.OnTextChanged("Reactive");
            events.LengthChanged += lengthHandler;
            events.OnTextChanged("Extensions");
            events.OnTextChanged("are");
            events.TextChanged -= textHandler;
            events.OnTextChanged("compositional");
            events.LengthChanged -= lengthHandler;
            events.OnTextChanged("!");

            Console.WriteLine("*** Observables ***");
            var observables             = new Observables();
            var textChangedSubscription = observables.TextChanged.Subscribe(text => Console.WriteLine(text));

            observables.OnTextChanged("The");
            observables.OnTextChanged("Reactive");
            var lengthSubscription = observables.LengthChanged.Subscribe(length => Console.WriteLine(length));

            observables.OnTextChanged("Extensions");
            observables.OnTextChanged("are");
            textChangedSubscription.Dispose();
            observables.OnTextChanged("compositional");
            lengthSubscription.Dispose();
            observables.OnTextChanged("!");
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            // Expected Output:
            // *** Events ***
            // The
            // Reactive
            // Extensions
            // 10
            // are
            // 3
            // 13
            // *** Observables ***
            // The
            // Reactive
            // Extensions
            // 10
            // are
            // 3
            // 13

            Console.WriteLine("*** Events ***");
            var events = new Events();
            Action<string> textHandler = text => Console.WriteLine(text);
            Action<int> lengthHandler = length => Console.WriteLine(length);
            events.TextChanged += textHandler;
            events.OnTextChanged("The");
            events.OnTextChanged("Reactive");
            events.LengthChanged += lengthHandler;
            events.OnTextChanged("Extensions");
            events.OnTextChanged("are");
            events.TextChanged -= textHandler;
            events.OnTextChanged("compositional");
            events.LengthChanged -= lengthHandler;
            events.OnTextChanged("!");

            Console.WriteLine("*** Observables ***");
            var observables = new Observables();
            var textChangedSubscription = observables.TextChanged.Subscribe(text => Console.WriteLine(text));
            observables.OnTextChanged("The");
            observables.OnTextChanged("Reactive");
            var lengthSubscription = observables.LengthChanged.Subscribe(length => Console.WriteLine(length));
            observables.OnTextChanged("Extensions");
            observables.OnTextChanged("are");
            textChangedSubscription.Dispose();
            observables.OnTextChanged("compositional");
            lengthSubscription.Dispose();
            observables.OnTextChanged("!");
        }