예제 #1
0
        static void ObserverContractViolation1()
        {
            var observable = new MyRangeObservable(5, 8);

            //var observer = new MyObserver<int>();

            var subscription = observable.Subscribe(
                Console.WriteLine,
                ex => Console.WriteLine(ex.Message),
                () => Console.WriteLine("Completed")
                );

            Console.WriteLine("Press any key to dispose the subscription.");
            Console.ReadKey();

            subscription.Dispose();
        }
예제 #2
0
        static void Demo()
        {
            var observable = new MyRangeObservable(5, 8);

            var observer = new MyObserver <int>();

            //var observer = Observer.Create<int>(
            //    Console.WriteLine,
            //    ex => Console.WriteLine(ex.Message),
            //    () => Console.WriteLine("Completed")
            //    );

            var subscription1 = observable.Subscribe(new MySlowObserver <int>("Subscriber 1"));

            subscription1.Dispose();

            //var subscription2 = observable.Subscribe(new MyObserver<int>("Subscriber 2"));
            //subscription2.Dispose();

            //Console.WriteLine("Press any key to dispose all subscriptions.");
            Console.WriteLine("Subscription has been disposed but we'r still rceiving value");
            //Console.ReadKey();
        }