コード例 #1
0
ファイル: Main.cs プロジェクト: kobi2294/MvvmKit
        public static void TestCompletedByDisposable()
        {
            var disposable = new BaseDisposable();
            var obs        = Observable
                             .Interval(TimeSpan.FromSeconds(1))
                             .CompletedBy(disposable)
                             .Timestamp();

            obs.Subscribe(i => Console.WriteLine("ob 1 Next " + i), () => Console.WriteLine("ob 1 Completed"));
            Task.Delay(2200).Wait();
            obs.Subscribe(i => Console.WriteLine("ob 2 Next " + i), () => Console.WriteLine("ob 2 Completed"));
            Task.Delay(2200).Wait();
            var sub = obs.Subscribe(i => Console.WriteLine("ob 3 Next " + i), () => Console.WriteLine("ob 3 Completed"));

            Task.Delay(2200).Wait();
            sub.Dispose();
            Task.Delay(2200).Wait();
            disposable.Dispose();
        }
コード例 #2
0
ファイル: Main.cs プロジェクト: kobi2294/MvvmKit
        public static void TestDisposableAsObservable()
        {
            Console.WriteLine(DateTime.Now);
            var disposable = new BaseDisposable();
            var observable = disposable.AsObservable <int>(() => 42).Timestamp();

            observable.Subscribe(i => Console.WriteLine("ob 1 Next " + i), () => Console.WriteLine("ob 1 Completed"));
            var sub = observable.Subscribe(i => Console.WriteLine("ob 2 Next " + i), () => Console.WriteLine("ob 2 Completed"));

            Task.Delay(1000).Wait();

            sub.Dispose();

            Task.Delay(1000).Wait();

            disposable.Dispose();

            Task.Delay(1000).Wait();

            observable.Subscribe(i => Console.WriteLine("ob 3 Next " + i), () => Console.WriteLine("ob 3 Completed"));
        }