Bläddra i källkod

Optimizing layout of ObserveOn.

Bart De Smet 8 år sedan
förälder
incheckning
c2da1f01cf
1 ändrade filer med 8 tillägg och 8 borttagningar
  1. 8 8
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ObserveOn.cs

+ 8 - 8
Rx.NET/Source/src/System.Reactive/Linq/Observable/ObserveOn.cs

@@ -29,7 +29,7 @@ namespace System.Reactive.Linq.ObservableImpl
         {
             if (_context != null)
             {
-                var sink = new ObserveOnImpl(this, observer, cancel);
+                var sink = new Context(_context, observer, cancel);
                 setSink(sink);
                 return _source.Subscribe(sink);
             }
@@ -41,19 +41,19 @@ namespace System.Reactive.Linq.ObservableImpl
             }
         }
 
-        class ObserveOnImpl : Sink<TSource>, IObserver<TSource>
+        private sealed class Context : Sink<TSource>, IObserver<TSource>
         {
-            private readonly ObserveOn<TSource> _parent;
+            private readonly SynchronizationContext _context;
 
-            public ObserveOnImpl(ObserveOn<TSource> parent, IObserver<TSource> observer, IDisposable cancel)
+            public Context(SynchronizationContext context, IObserver<TSource> observer, IDisposable cancel)
                 : base(observer, cancel)
             {
-                _parent = parent;
+                _context = context;
             }
 
             public void OnNext(TSource value)
             {
-                _parent._context.PostWithStartComplete(() =>
+                _context.PostWithStartComplete(() =>
                 {
                     base._observer.OnNext(value);
                 });
@@ -61,7 +61,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public void OnError(Exception error)
             {
-                _parent._context.PostWithStartComplete(() =>
+                _context.PostWithStartComplete(() =>
                 {
                     base._observer.OnError(error);
                     base.Dispose();
@@ -70,7 +70,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
             public void OnCompleted()
             {
-                _parent._context.PostWithStartComplete(() =>
+                _context.PostWithStartComplete(() =>
                 {
                     base._observer.OnCompleted();
                     base.Dispose();