Beispiel #1
0
        static void Main0()
        {
            // 監視されるオブジェクトを生成
            var source = new NumberObservable();
            // 監視者を生成
            var sbscriber1 = source.Subscribe(new PrintObserver());
            var sbscriber2 = source.Subscribe(new PrintObserver());

            // 監視される人の処理を実行
            Console.WriteLine("## Execute(1)");
            source.Execute(1);

            // 片方を監視する人から解雇
            Console.WriteLine("## Dispose");
            sbscriber2.Dispose();
            // 再度処理を実行
            Console.WriteLine("## Execute(2)");
            source.Execute(2);

            // エラーを起こしてみる
            Console.WriteLine("## Execute(0)");
            source.Execute(0);

            // 完了通知
            // もう1つ監視役を追加して完了通知を行う
            var sbscriber3 = source.Subscribe(new PrintObserver());

            Console.WriteLine("## Completed"); source.Completed();
        }
Beispiel #2
0
        static void Main0_1()
        {
            // 監視されるオブジェクトを生成
            var source = new NumberObservable();

            source.Subscribe(
                (value) => { Console.WriteLine("OnNext({0}) called", value); },
                (e) => { Console.WriteLine("OnError(Msg:{0}) called", e.Message); },
                () => { Console.WriteLine("OnCompleted() called"); }
                );
        }