Browse Source

Sealing operator classes.

Bart De Smet 8 years ago
parent
commit
e2ac69a62a
100 changed files with 182 additions and 182 deletions
  1. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/AddRef.cs
  2. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Aggregate.cs
  3. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/All.cs
  4. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Amb.cs
  5. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Any.cs
  6. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/AsObservable.cs
  7. 10 10
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Average.cs
  8. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Buffer.cs
  9. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Case.cs
  10. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Cast.cs
  11. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Catch.cs
  12. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Collect.cs
  13. 15 15
      Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.Generated.cs
  14. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.Generated.tt
  15. 3 3
      Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.cs
  16. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Concat.cs
  17. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Contains.cs
  18. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Count.cs
  19. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/DefaultIfEmpty.cs
  20. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Defer.cs
  21. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Delay.cs
  22. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/DelaySubscription.cs
  23. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Dematerialize.cs
  24. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Distinct.cs
  25. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/DistinctUntilChanged.cs
  26. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Do.cs
  27. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/DoWhile.cs
  28. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ElementAt.cs
  29. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Empty.cs
  30. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Finally.cs
  31. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/FirstAsync.cs
  32. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/For.cs
  33. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ForEach.cs
  34. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEvent.cs
  35. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEventPattern.cs
  36. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Generate.cs
  37. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/GetEnumerator.cs
  38. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupBy.cs
  39. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupByUntil.cs
  40. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupJoin.cs
  41. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/If.cs
  42. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/IgnoreElements.cs
  43. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/IsEmpty.cs
  44. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Join.cs
  45. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/LastAsync.cs
  46. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Latest.cs
  47. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/LongCount.cs
  48. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Materialize.cs
  49. 11 11
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Max.cs
  50. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/MaxBy.cs
  51. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Merge.cs
  52. 11 11
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Min.cs
  53. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/MinBy.cs
  54. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/MostRecent.cs
  55. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Multicast.cs
  56. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Never.cs
  57. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Next.cs
  58. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ObserveOn.cs
  59. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/OfType.cs
  60. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/OnErrorResumeNext.cs
  61. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Range.cs
  62. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/RefCount.cs
  63. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Repeat.cs
  64. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Return.cs
  65. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Sample.cs
  66. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Scan.cs
  67. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Select.cs
  68. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SelectMany.cs
  69. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SequenceEqual.cs
  70. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SingleAsync.cs
  71. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Skip.cs
  72. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipLast.cs
  73. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipUntil.cs
  74. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipWhile.cs
  75. 10 10
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Sum.cs
  76. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Switch.cs
  77. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Synchronize.cs
  78. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Take.cs
  79. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeLast.cs
  80. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeLastBuffer.cs
  81. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeUntil.cs
  82. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeWhile.cs
  83. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Throttle.cs
  84. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Throw.cs
  85. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/TimeInterval.cs
  86. 2 2
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Timeout.cs
  87. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Timer.cs
  88. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Timestamp.cs
  89. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ToArray.cs
  90. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ToDictionary.cs
  91. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ToList.cs
  92. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ToLookup.cs
  93. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/ToObservable.cs
  94. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Using.cs
  95. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Where.cs
  96. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/While.cs
  97. 3 3
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Window.cs
  98. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/WithLatestFrom.cs
  99. 15 15
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Zip.Generated.cs
  100. 1 1
      Rx.NET/Source/src/System.Reactive/Linq/Observable/Zip.Generated.tt

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/AddRef.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class AddRef<TSource> : Producer<TSource>
+    internal class AddRef<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly RefCountDisposable _refCount;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Aggregate.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Aggregate<TSource, TAccumulate, TResult> : Producer<TResult>
+    internal sealed class Aggregate<TSource, TAccumulate, TResult> : Producer<TResult>
     {
         private readonly IObservable<TSource> _source;
         private readonly TAccumulate _seed;
@@ -80,7 +80,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Aggregate<TSource> : Producer<TSource>
+    internal sealed class Aggregate<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TSource, TSource> _accumulator;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/All.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class All<TSource> : Producer<bool>
+    internal sealed class All<TSource> : Producer<bool>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Amb.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Amb<TSource> : Producer<TSource>
+    internal sealed class Amb<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _left;
         private readonly IObservable<TSource> _right;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Any.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Any<TSource> : Producer<bool>
+    internal sealed class Any<TSource> : Producer<bool>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/AsObservable.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class AsObservable<TSource> : Producer<TSource>, IEvaluatableObservable<TSource>
+    internal sealed class AsObservable<TSource> : Producer<TSource>, IEvaluatableObservable<TSource>
     {
         private readonly IObservable<TSource> _source;
 

+ 10 - 10
Rx.NET/Source/src/System.Reactive/Linq/Observable/Average.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class AverageDouble : Producer<double>
+    internal sealed class AverageDouble : Producer<double>
     {
         private readonly IObservable<double> _source;
 
@@ -74,7 +74,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageSingle : Producer<float>
+    internal sealed class AverageSingle : Producer<float>
     {
         private readonly IObservable<float> _source;
 
@@ -142,7 +142,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageDecimal : Producer<decimal>
+    internal sealed class AverageDecimal : Producer<decimal>
     {
         private readonly IObservable<decimal> _source;
 
@@ -210,7 +210,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageInt32 : Producer<double>
+    internal sealed class AverageInt32 : Producer<double>
     {
         private readonly IObservable<int> _source;
 
@@ -278,7 +278,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageInt64 : Producer<double>
+    internal sealed class AverageInt64 : Producer<double>
     {
         private readonly IObservable<long> _source;
 
@@ -346,7 +346,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageDoubleNullable : Producer<double?>
+    internal sealed class AverageDoubleNullable : Producer<double?>
     {
         private readonly IObservable<double?> _source;
 
@@ -417,7 +417,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageSingleNullable : Producer<float?>
+    internal sealed class AverageSingleNullable : Producer<float?>
     {
         private readonly IObservable<float?> _source;
 
@@ -488,7 +488,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageDecimalNullable : Producer<decimal?>
+    internal sealed class AverageDecimalNullable : Producer<decimal?>
     {
         private readonly IObservable<decimal?> _source;
 
@@ -559,7 +559,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageInt32Nullable : Producer<double?>
+    internal sealed class AverageInt32Nullable : Producer<double?>
     {
         private readonly IObservable<int?> _source;
 
@@ -630,7 +630,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class AverageInt64Nullable : Producer<double?>
+    internal sealed class AverageInt64Nullable : Producer<double?>
     {
         private readonly IObservable<long?> _source;
 

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Buffer.cs

@@ -11,7 +11,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Buffer<TSource> : Producer<IList<TSource>>
+    internal sealed class Buffer<TSource> : Producer<IList<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;
@@ -460,7 +460,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Buffer<TSource, TBufferClosing> : Producer<IList<TSource>>
+    internal sealed class Buffer<TSource, TBufferClosing> : Producer<IList<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<IObservable<TBufferClosing>> _bufferClosingSelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Case.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Case<TValue, TResult> : Producer<TResult>, IEvaluatableObservable<TResult>
+    internal sealed class Case<TValue, TResult> : Producer<TResult>, IEvaluatableObservable<TResult>
     {
         private readonly Func<TValue> _selector;
         private readonly IDictionary<TValue, IObservable<TResult>> _sources;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Cast.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Cast<TSource, TResult> : Producer<TResult> /* Could optimize further by deriving from Select<TResult> and providing Omega<TResult2>. We're not doing this (yet) for debuggability. */
+    internal sealed class Cast<TSource, TResult> : Producer<TResult> /* Could optimize further by deriving from Select<TResult> and providing Omega<TResult2>. We're not doing this (yet) for debuggability. */
     {
         private readonly IObservable<TSource> _source;
 

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Catch.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Catch<TSource> : Producer<TSource>
+    internal sealed class Catch<TSource> : Producer<TSource>
     {
         private readonly IEnumerable<IObservable<TSource>> _sources;
 
@@ -82,7 +82,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Catch<TSource, TException> : Producer<TSource> where TException : Exception
+    internal sealed class Catch<TSource, TException> : Producer<TSource> where TException : Exception
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TException, IObservable<TSource>> _handler;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Collect.cs

@@ -10,7 +10,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Collect<TSource, TResult> : PushToPullAdapter<TSource, TResult>
+    internal sealed class Collect<TSource, TResult> : PushToPullAdapter<TSource, TResult>
     {
         private readonly Func<TResult> _getInitialCollector;
         private readonly Func<TResult, TSource, TResult> _merge;

+ 15 - 15
Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.Generated.cs

@@ -14,9 +14,9 @@ namespace System.Reactive.Linq.ObservableImpl
 
     /* The following code is generated by a T4 template. */
 
-    #region CombineLatest auto-generated code (4/14/2017 11:25:12 AM)
+    #region CombineLatest auto-generated code (4/14/2017 12:11:22 PM)
 
-    class CombineLatest<T1, T2, T3, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -76,7 +76,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -141,7 +141,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -211,7 +211,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -286,7 +286,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -366,7 +366,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -451,7 +451,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -541,7 +541,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -636,7 +636,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -736,7 +736,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -841,7 +841,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -951,7 +951,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1066,7 +1066,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1186,7 +1186,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.Generated.tt

@@ -29,7 +29,7 @@ for (var i = 3; i <= 16; i++)
     var os = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable<T" + j + "> source" + j));
     var vs = string.Join(", ", Enumerable.Range(1, i).Select(j => "_observer" + j + ".Value"));
 #>
-    class CombineLatest<<#=ts#>, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<<#=ts#>, TResult> : Producer<TResult>
     {
 <#
 for (var j = 1; j <= i; j++)

+ 3 - 3
Rx.NET/Source/src/System.Reactive/Linq/Observable/CombineLatest.cs

@@ -12,7 +12,7 @@ namespace System.Reactive.Linq.ObservableImpl
 {
     #region Binary
 
-    class CombineLatest<TFirst, TSecond, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<TFirst, TSecond, TResult> : Producer<TResult>
     {
         private readonly IObservable<TFirst> _first;
         private readonly IObservable<TSecond> _second;
@@ -339,7 +339,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class CombineLatestObserver<T> : IObserver<T>
+    internal sealed class CombineLatestObserver<T> : IObserver<T>
     {
         private readonly object _gate;
         private readonly ICombineLatest _parent;
@@ -396,7 +396,7 @@ namespace System.Reactive.Linq.ObservableImpl
 
     #region N-ary
 
-    class CombineLatest<TSource, TResult> : Producer<TResult>
+    internal sealed class CombineLatest<TSource, TResult> : Producer<TResult>
     {
         private readonly IEnumerable<IObservable<TSource>> _sources;
         private readonly Func<IList<TSource>, TResult> _resultSelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Concat.cs

@@ -9,7 +9,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Concat<TSource> : Producer<TSource>, IConcatenatable<TSource>
+    internal sealed class Concat<TSource> : Producer<TSource>, IConcatenatable<TSource>
     {
         private readonly IEnumerable<IObservable<TSource>> _sources;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Contains.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Contains<TSource> : Producer<bool>
+    internal sealed class Contains<TSource> : Producer<bool>
     {
         private readonly IObservable<TSource> _source;
         private readonly TSource _value;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Count.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Count<TSource> : Producer<int>
+    internal sealed class Count<TSource> : Producer<int>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/DefaultIfEmpty.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class DefaultIfEmpty<TSource> : Producer<TSource>
+    internal sealed class DefaultIfEmpty<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly TSource _defaultValue;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Defer.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Defer<TValue> : Producer<TValue>, IEvaluatableObservable<TValue>
+    internal sealed class Defer<TValue> : Producer<TValue>, IEvaluatableObservable<TValue>
     {
         private readonly Func<IObservable<TValue>> _observableFactory;
 

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Delay.cs

@@ -9,7 +9,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Delay<TSource> : Producer<TSource>
+    internal sealed class Delay<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly TimeSpan? _dueTimeR;
@@ -545,7 +545,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Delay<TSource, TDelay> : Producer<TSource>
+    internal sealed class Delay<TSource, TDelay> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IObservable<TDelay> _subscriptionDelay;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/DelaySubscription.cs

@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class DelaySubscription<TSource> : Producer<TSource>
+    internal sealed class DelaySubscription<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly DateTimeOffset? _dueTimeA;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Dematerialize.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Dematerialize<TSource> : Producer<TSource>
+    internal sealed class Dematerialize<TSource> : Producer<TSource>
     {
         private readonly IObservable<Notification<TSource>> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Distinct.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Distinct<TSource, TKey> : Producer<TSource>
+    internal sealed class Distinct<TSource, TKey> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/DistinctUntilChanged.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class DistinctUntilChanged<TSource, TKey> : Producer<TSource>
+    internal sealed class DistinctUntilChanged<TSource, TKey> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Do.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Do<TSource> : Producer<TSource>
+    internal sealed class Do<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Action<TSource> _onNext;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/DoWhile.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class DoWhile<TSource> : Producer<TSource>, IConcatenatable<TSource>
+    internal sealed class DoWhile<TSource> : Producer<TSource>, IConcatenatable<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<bool> _condition;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ElementAt.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ElementAt<TSource> : Producer<TSource>
+    internal sealed class ElementAt<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _index;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Empty.cs

@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Empty<TResult> : Producer<TResult>
+    internal sealed class Empty<TResult> : Producer<TResult>
     {
         private readonly IScheduler _scheduler;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Finally.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Finally<TSource> : Producer<TSource>
+    internal sealed class Finally<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Action _finallyAction;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FirstAsync.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class FirstAsync<TSource> : Producer<TSource>
+    internal sealed class FirstAsync<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/For.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class For<TSource, TResult> : Producer<TResult>, IConcatenatable<TResult>
+    internal sealed class For<TSource, TResult> : Producer<TResult>, IConcatenatable<TResult>
     {
         private readonly IEnumerable<TSource> _source;
         private readonly Func<TSource, IObservable<TResult>> _resultSelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ForEach.cs

@@ -7,7 +7,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ForEach<TSource>
+    internal sealed class ForEach<TSource>
     {
         public class _ : IObserver<TSource>
         {

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEvent.cs

@@ -159,7 +159,7 @@ using System.Reactive.Subjects;
 //
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class FromEvent<TDelegate, TEventArgs> : ClassicEventProducer<TDelegate, TEventArgs>
+    internal sealed class FromEvent<TDelegate, TEventArgs> : ClassicEventProducer<TDelegate, TEventArgs>
     {
         private readonly Func<Action<TEventArgs>, TDelegate> _conversion;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/FromEventPattern.cs

@@ -15,7 +15,7 @@ using System.Threading;
 //
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class FromEventPattern
+    internal sealed class FromEventPattern
     {
         public class Impl<TDelegate, TEventArgs> : ClassicEventProducer<TDelegate, EventPattern<TEventArgs>>
         {

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Generate.cs

@@ -10,7 +10,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Generate<TState, TResult> : Producer<TResult>
+    internal sealed class Generate<TState, TResult> : Producer<TResult>
     {
         private readonly TState _initialState;
         private readonly Func<TState, bool> _condition;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/GetEnumerator.cs

@@ -11,7 +11,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class GetEnumerator<TSource> : IEnumerator<TSource>, IObserver<TSource>
+    internal sealed class GetEnumerator<TSource> : IEnumerator<TSource>, IObserver<TSource>
     {
         private readonly ConcurrentQueue<TSource> _queue;
         private TSource _current;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupBy.cs

@@ -10,7 +10,7 @@ using System.Reactive.Subjects;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class GroupBy<TSource, TKey, TElement> : Producer<IGroupedObservable<TKey, TElement>>
+    internal sealed class GroupBy<TSource, TKey, TElement> : Producer<IGroupedObservable<TKey, TElement>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupByUntil.cs

@@ -10,7 +10,7 @@ using System.Reactive.Subjects;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class GroupByUntil<TSource, TKey, TElement, TDuration> : Producer<IGroupedObservable<TKey, TElement>>
+    internal sealed class GroupByUntil<TSource, TKey, TElement, TDuration> : Producer<IGroupedObservable<TKey, TElement>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;
@@ -276,7 +276,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Map<TKey, TValue>
+    internal sealed class Map<TKey, TValue>
     {
         // Taken from ConcurrentDictionary in the BCL.
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/GroupJoin.cs

@@ -9,7 +9,7 @@ using System.Reactive.Subjects;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult> : Producer<TResult>
+    internal sealed class GroupJoin<TLeft, TRight, TLeftDuration, TRightDuration, TResult> : Producer<TResult>
     {
         private readonly IObservable<TLeft> _left;
         private readonly IObservable<TRight> _right;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/If.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class If<TResult> : Producer<TResult>, IEvaluatableObservable<TResult>
+    internal sealed class If<TResult> : Producer<TResult>, IEvaluatableObservable<TResult>
     {
         private readonly Func<bool> _condition;
         private readonly IObservable<TResult> _thenSource;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/IgnoreElements.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class IgnoreElements<TSource> : Producer<TSource>
+    internal sealed class IgnoreElements<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/IsEmpty.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class IsEmpty<TSource> : Producer<bool>
+    internal sealed class IsEmpty<TSource> : Producer<bool>
     {
         private readonly IObservable<TSource> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Join.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult> : Producer<TResult>
+    internal sealed class Join<TLeft, TRight, TLeftDuration, TRightDuration, TResult> : Producer<TResult>
     {
         private readonly IObservable<TLeft> _left;
         private readonly IObservable<TRight> _right;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/LastAsync.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class LastAsync<TSource> : Producer<TSource>
+    internal sealed class LastAsync<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Latest.cs

@@ -9,7 +9,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Latest<TSource> : PushToPullAdapter<TSource, TSource>
+    internal sealed class Latest<TSource> : PushToPullAdapter<TSource, TSource>
     {
         public Latest(IObservable<TSource> source)
             : base(source)

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/LongCount.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class LongCount<TSource> : Producer<long>
+    internal sealed class LongCount<TSource> : Producer<long>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Materialize.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Materialize<TSource> : Producer<Notification<TSource>>
+    internal sealed class Materialize<TSource> : Producer<Notification<TSource>>
     {
         private readonly IObservable<TSource> _source;
 

+ 11 - 11
Rx.NET/Source/src/System.Reactive/Linq/Observable/Max.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Max<TSource> : Producer<TSource>
+    internal sealed class Max<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IComparer<TSource> _comparer;
@@ -160,7 +160,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxDouble : Producer<double>
+    internal sealed class MaxDouble : Producer<double>
     {
         private readonly IObservable<double> _source;
 
@@ -227,7 +227,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxSingle : Producer<float>
+    internal sealed class MaxSingle : Producer<float>
     {
         private readonly IObservable<float> _source;
 
@@ -294,7 +294,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxDecimal : Producer<decimal>
+    internal sealed class MaxDecimal : Producer<decimal>
     {
         private readonly IObservable<decimal> _source;
 
@@ -361,7 +361,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxInt32 : Producer<int>
+    internal sealed class MaxInt32 : Producer<int>
     {
         private readonly IObservable<int> _source;
 
@@ -428,7 +428,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxInt64 : Producer<long>
+    internal sealed class MaxInt64 : Producer<long>
     {
         private readonly IObservable<long> _source;
 
@@ -495,7 +495,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxDoubleNullable : Producer<double?>
+    internal sealed class MaxDoubleNullable : Producer<double?>
     {
         private readonly IObservable<double?> _source;
 
@@ -554,7 +554,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxSingleNullable : Producer<float?>
+    internal sealed class MaxSingleNullable : Producer<float?>
     {
         private readonly IObservable<float?> _source;
 
@@ -613,7 +613,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxDecimalNullable : Producer<decimal?>
+    internal sealed class MaxDecimalNullable : Producer<decimal?>
     {
         private readonly IObservable<decimal?> _source;
 
@@ -672,7 +672,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxInt32Nullable : Producer<int?>
+    internal sealed class MaxInt32Nullable : Producer<int?>
     {
         private readonly IObservable<int?> _source;
 
@@ -731,7 +731,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MaxInt64Nullable : Producer<long?>
+    internal sealed class MaxInt64Nullable : Producer<long?>
     {
         private readonly IObservable<long?> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/MaxBy.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class MaxBy<TSource, TKey> : Producer<IList<TSource>>
+    internal sealed class MaxBy<TSource, TKey> : Producer<IList<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Merge.cs

@@ -10,7 +10,7 @@ using System.Threading.Tasks;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Merge<TSource> : Producer<TSource>
+    internal sealed class Merge<TSource> : Producer<TSource>
     {
         private readonly IObservable<IObservable<TSource>> _sources;
         private readonly IObservable<Task<TSource>> _sourcesT;

+ 11 - 11
Rx.NET/Source/src/System.Reactive/Linq/Observable/Min.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Min<TSource> : Producer<TSource>
+    internal sealed class Min<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IComparer<TSource> _comparer;
@@ -160,7 +160,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinDouble : Producer<double>
+    internal sealed class MinDouble : Producer<double>
     {
         private readonly IObservable<double> _source;
 
@@ -227,7 +227,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinSingle : Producer<float>
+    internal sealed class MinSingle : Producer<float>
     {
         private readonly IObservable<float> _source;
 
@@ -294,7 +294,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinDecimal : Producer<decimal>
+    internal sealed class MinDecimal : Producer<decimal>
     {
         private readonly IObservable<decimal> _source;
 
@@ -361,7 +361,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinInt32 : Producer<int>
+    internal sealed class MinInt32 : Producer<int>
     {
         private readonly IObservable<int> _source;
 
@@ -428,7 +428,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinInt64 : Producer<long>
+    internal sealed class MinInt64 : Producer<long>
     {
         private readonly IObservable<long> _source;
 
@@ -495,7 +495,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinDoubleNullable : Producer<double?>
+    internal sealed class MinDoubleNullable : Producer<double?>
     {
         private readonly IObservable<double?> _source;
 
@@ -554,7 +554,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinSingleNullable : Producer<float?>
+    internal sealed class MinSingleNullable : Producer<float?>
     {
         private readonly IObservable<float?> _source;
 
@@ -613,7 +613,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinDecimalNullable : Producer<decimal?>
+    internal sealed class MinDecimalNullable : Producer<decimal?>
     {
         private readonly IObservable<decimal?> _source;
 
@@ -672,7 +672,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinInt32Nullable : Producer<int?>
+    internal sealed class MinInt32Nullable : Producer<int?>
     {
         private readonly IObservable<int?> _source;
 
@@ -731,7 +731,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class MinInt64Nullable : Producer<long?>
+    internal sealed class MinInt64Nullable : Producer<long?>
     {
         private readonly IObservable<long?> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/MinBy.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class MinBy<TSource, TKey> : Producer<IList<TSource>>
+    internal sealed class MinBy<TSource, TKey> : Producer<IList<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/MostRecent.cs

@@ -8,7 +8,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class MostRecent<TSource> : PushToPullAdapter<TSource, TSource>
+    internal sealed class MostRecent<TSource> : PushToPullAdapter<TSource, TSource>
     {
         private readonly TSource _initialValue;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Multicast.cs

@@ -8,7 +8,7 @@ using System.Reactive.Subjects;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Multicast<TSource, TIntermediate, TResult> : Producer<TResult>
+    internal sealed class Multicast<TSource, TIntermediate, TResult> : Producer<TResult>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<ISubject<TSource, TIntermediate>> _subjectSelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Never.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Never<TResult> : IObservable<TResult>
+    internal sealed class Never<TResult> : IObservable<TResult>
     {
         public IDisposable Subscribe(IObserver<TResult> observer)
         {

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Next.cs

@@ -9,7 +9,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Next<TSource> : PushToPullAdapter<TSource, TSource>
+    internal sealed class Next<TSource> : PushToPullAdapter<TSource, TSource>
     {
         public Next(IObservable<TSource> source)
             : base(source)

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

@@ -8,7 +8,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ObserveOn<TSource> : Producer<TSource>
+    internal sealed class ObserveOn<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IScheduler _scheduler;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/OfType.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class OfType<TSource, TResult> : Producer<TResult>
+    internal sealed class OfType<TSource, TResult> : Producer<TResult>
     {
         private readonly IObservable<TSource> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/OnErrorResumeNext.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class OnErrorResumeNext<TSource> : Producer<TSource>
+    internal sealed class OnErrorResumeNext<TSource> : Producer<TSource>
     {
         private readonly IEnumerable<IObservable<TSource>> _sources;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Range.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Range : Producer<int>
+    internal sealed class Range : Producer<int>
     {
         private readonly int _start;
         private readonly int _count;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/RefCount.cs

@@ -8,7 +8,7 @@ using System.Reactive.Subjects;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class RefCount<TSource> : Producer<TSource>
+    internal sealed class RefCount<TSource> : Producer<TSource>
     {
         private readonly IConnectableObservable<TSource> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Repeat.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Repeat<TResult> : Producer<TResult>
+    internal sealed class Repeat<TResult> : Producer<TResult>
     {
         private readonly TResult _value;
         private readonly int? _repeatCount;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Return.cs

@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Return<TResult> : Producer<TResult>
+    internal sealed class Return<TResult> : Producer<TResult>
     {
         private readonly TResult _value;
         private readonly IScheduler _scheduler;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Sample.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Sample<TSource, TSample> : Producer<TSource>
+    internal sealed class Sample<TSource, TSample> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IObservable<TSample> _sampler;
@@ -142,7 +142,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Sample<TSource> : Producer<TSource>
+    internal sealed class Sample<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly TimeSpan _interval;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Scan.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Scan<TSource, TAccumulate> : Producer<TAccumulate>
+    internal sealed class Scan<TSource, TAccumulate> : Producer<TAccumulate>
     {
         private readonly IObservable<TSource> _source;
         private readonly TAccumulate _seed;
@@ -76,7 +76,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Scan<TSource> : Producer<TSource>
+    internal sealed class Scan<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TSource, TSource> _accumulator;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Select.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Select<TSource, TResult> : Producer<TResult>
+    internal sealed class Select<TSource, TResult> : Producer<TResult>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TResult> _selector;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/SelectMany.cs

@@ -9,7 +9,7 @@ using System.Threading.Tasks;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SelectMany<TSource, TCollection, TResult> : Producer<TResult>
+    internal sealed class SelectMany<TSource, TCollection, TResult> : Producer<TResult>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, IObservable<TCollection>> _collectionSelector;
@@ -849,7 +849,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SelectMany<TSource, TResult> : Producer<TResult>
+    internal sealed class SelectMany<TSource, TResult> : Producer<TResult>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, IObservable<TResult>> _selector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/SequenceEqual.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SequenceEqual<TSource> : Producer<bool>
+    internal sealed class SequenceEqual<TSource> : Producer<bool>
     {
         private readonly IObservable<TSource> _first;
         private readonly IObservable<TSource> _second;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/SingleAsync.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SingleAsync<TSource> : Producer<TSource>
+    internal sealed class SingleAsync<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Skip.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Skip<TSource> : Producer<TSource>
+    internal sealed class Skip<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipLast.cs

@@ -8,7 +8,7 @@ using System.Reactive.Concurrency;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SkipLast<TSource> : Producer<TSource>
+    internal sealed class SkipLast<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipUntil.cs

@@ -9,7 +9,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SkipUntil<TSource, TOther> : Producer<TSource>
+    internal sealed class SkipUntil<TSource, TOther> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IObservable<TOther> _other;
@@ -128,7 +128,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SkipUntil<TSource> : Producer<TSource>
+    internal sealed class SkipUntil<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly DateTimeOffset _startTime;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/SkipWhile.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SkipWhile<TSource> : Producer<TSource>
+    internal sealed class SkipWhile<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 10 - 10
Rx.NET/Source/src/System.Reactive/Linq/Observable/Sum.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class SumDouble : Producer<double>
+    internal sealed class SumDouble : Producer<double>
     {
         private readonly IObservable<double> _source;
 
@@ -52,7 +52,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumSingle : Producer<float>
+    internal sealed class SumSingle : Producer<float>
     {
         private readonly IObservable<float> _source;
 
@@ -98,7 +98,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumDecimal : Producer<decimal>
+    internal sealed class SumDecimal : Producer<decimal>
     {
         private readonly IObservable<decimal> _source;
 
@@ -144,7 +144,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumInt32 : Producer<int>
+    internal sealed class SumInt32 : Producer<int>
     {
         private readonly IObservable<int> _source;
 
@@ -201,7 +201,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumInt64 : Producer<long>
+    internal sealed class SumInt64 : Producer<long>
     {
         private readonly IObservable<long> _source;
 
@@ -258,7 +258,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumDoubleNullable : Producer<double?>
+    internal sealed class SumDoubleNullable : Producer<double?>
     {
         private readonly IObservable<double?> _source;
 
@@ -305,7 +305,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumSingleNullable : Producer<float?>
+    internal sealed class SumSingleNullable : Producer<float?>
     {
         private readonly IObservable<float?> _source;
 
@@ -352,7 +352,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumDecimalNullable : Producer<decimal?>
+    internal sealed class SumDecimalNullable : Producer<decimal?>
     {
         private readonly IObservable<decimal?> _source;
 
@@ -399,7 +399,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumInt32Nullable : Producer<int?>
+    internal sealed class SumInt32Nullable : Producer<int?>
     {
         private readonly IObservable<int?> _source;
 
@@ -457,7 +457,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class SumInt64Nullable : Producer<long?>
+    internal sealed class SumInt64Nullable : Producer<long?>
     {
         private readonly IObservable<long?> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Switch.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Switch<TSource> : Producer<TSource>
+    internal sealed class Switch<TSource> : Producer<TSource>
     {
         private readonly IObservable<IObservable<TSource>> _sources;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Synchronize.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Synchronize<TSource> : Producer<TSource>
+    internal sealed class Synchronize<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly object _gate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Take.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Take<TSource> : Producer<TSource>
+    internal sealed class Take<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeLast.cs

@@ -9,7 +9,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class TakeLast<TSource> : Producer<TSource>
+    internal sealed class TakeLast<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeLastBuffer.cs

@@ -10,7 +10,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class TakeLastBuffer<TSource> : Producer<IList<TSource>>
+    internal sealed class TakeLastBuffer<TSource> : Producer<IList<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeUntil.cs

@@ -9,7 +9,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class TakeUntil<TSource, TOther> : Producer<TSource>
+    internal sealed class TakeUntil<TSource, TOther> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IObservable<TOther> _other;
@@ -161,7 +161,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class TakeUntil<TSource> : Producer<TSource>
+    internal sealed class TakeUntil<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly DateTimeOffset _endTime;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/TakeWhile.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class TakeWhile<TSource> : Producer<TSource>
+    internal sealed class TakeWhile<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Throttle.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Throttle<TSource> : Producer<TSource>
+    internal sealed class Throttle<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly TimeSpan _dueTime;
@@ -117,7 +117,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Throttle<TSource, TThrottle> : Producer<TSource>
+    internal sealed class Throttle<TSource, TThrottle> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, IObservable<TThrottle>> _throttleSelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Throw.cs

@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Throw<TResult> : Producer<TResult>
+    internal sealed class Throw<TResult> : Producer<TResult>
     {
         private readonly Exception _exception;
         private readonly IScheduler _scheduler;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/TimeInterval.cs

@@ -10,7 +10,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class TimeInterval<TSource> : Producer<System.Reactive.TimeInterval<TSource>>
+    internal sealed class TimeInterval<TSource> : Producer<System.Reactive.TimeInterval<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly IScheduler _scheduler;

+ 2 - 2
Rx.NET/Source/src/System.Reactive/Linq/Observable/Timeout.cs

@@ -8,7 +8,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Timeout<TSource> : Producer<TSource>
+    internal sealed class Timeout<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly TimeSpan? _dueTimeR;
@@ -256,7 +256,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Timeout<TSource, TTimeout> : Producer<TSource>
+    internal sealed class Timeout<TSource, TTimeout> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly IObservable<TTimeout> _firstTimeout;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Timer.cs

@@ -10,7 +10,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Timer : Producer<long>
+    internal sealed class Timer : Producer<long>
     {
         private readonly DateTimeOffset? _dueTimeA;
         private readonly TimeSpan? _dueTimeR;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Timestamp.cs

@@ -7,7 +7,7 @@ using System.Reactive.Concurrency;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Timestamp<TSource> : Producer<Timestamped<TSource>>
+    internal sealed class Timestamp<TSource> : Producer<Timestamped<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly IScheduler _scheduler;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ToArray.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ToArray<TSource> : Producer<TSource[]>
+    internal sealed class ToArray<TSource> : Producer<TSource[]>
     {
         private readonly IObservable<TSource> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ToDictionary.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ToDictionary<TSource, TKey, TElement> : Producer<IDictionary<TKey, TElement>>
+    internal sealed class ToDictionary<TSource, TKey, TElement> : Producer<IDictionary<TKey, TElement>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ToList.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ToList<TSource> : Producer<IList<TSource>>
+    internal sealed class ToList<TSource> : Producer<IList<TSource>>
     {
         private readonly IObservable<TSource> _source;
 

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ToLookup.cs

@@ -8,7 +8,7 @@ using System.Linq;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ToLookup<TSource, TKey, TElement> : Producer<ILookup<TKey, TElement>>
+    internal sealed class ToLookup<TSource, TKey, TElement> : Producer<ILookup<TKey, TElement>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, TKey> _keySelector;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/ToObservable.cs

@@ -9,7 +9,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class ToObservable<TSource> : Producer<TSource>
+    internal sealed class ToObservable<TSource> : Producer<TSource>
     {
         private readonly IEnumerable<TSource> _source;
         private readonly IScheduler _scheduler;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Using.cs

@@ -7,7 +7,7 @@ using System.Reactive.Disposables;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Using<TSource, TResource> : Producer<TSource>
+    internal sealed class Using<TSource, TResource> : Producer<TSource>
         where TResource : IDisposable
     {
         private readonly Func<TResource> _resourceFactory;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Where.cs

@@ -6,7 +6,7 @@ using System;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Where<TSource> : Producer<TSource>
+    internal sealed class Where<TSource> : Producer<TSource>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<TSource, bool> _predicate;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/While.cs

@@ -7,7 +7,7 @@ using System.Collections.Generic;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class While<TSource> : Producer<TSource>, IConcatenatable<TSource>
+    internal sealed class While<TSource> : Producer<TSource>, IConcatenatable<TSource>
     {
         private readonly Func<bool> _condition;
         private readonly IObservable<TSource> _source;

+ 3 - 3
Rx.NET/Source/src/System.Reactive/Linq/Observable/Window.cs

@@ -12,7 +12,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class Window<TSource> : Producer<IObservable<TSource>>
+    internal sealed class Window<TSource> : Producer<IObservable<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly int _count;
@@ -489,7 +489,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Window<TSource, TWindowClosing> : Producer<IObservable<TSource>>
+    internal sealed class Window<TSource, TWindowClosing> : Producer<IObservable<TSource>>
     {
         private readonly IObservable<TSource> _source;
         private readonly Func<IObservable<TWindowClosing>> _windowClosingSelector;
@@ -748,7 +748,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class WindowObservable<TSource> : AddRef<TSource>
+    internal sealed class WindowObservable<TSource> : AddRef<TSource>
     {
         public WindowObservable(IObservable<TSource> source, RefCountDisposable refCount)
             : base(source, refCount)

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/WithLatestFrom.cs

@@ -8,7 +8,7 @@ using System.Threading;
 
 namespace System.Reactive.Linq.ObservableImpl
 {
-    class WithLatestFrom<TFirst, TSecond, TResult> : Producer<TResult>
+    internal sealed class WithLatestFrom<TFirst, TSecond, TResult> : Producer<TResult>
     {
         private readonly IObservable<TFirst> _first;
         private readonly IObservable<TSecond> _second;

+ 15 - 15
Rx.NET/Source/src/System.Reactive/Linq/Observable/Zip.Generated.cs

@@ -14,9 +14,9 @@ namespace System.Reactive.Linq.ObservableImpl
 
     /* The following code is generated by a T4 template. */
 
-    #region Zip auto-generated code (4/13/2017 1:42:36 PM)
+    #region Zip auto-generated code (4/14/2017 12:14:30 PM)
 
-    class Zip<T1, T2, T3, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -92,7 +92,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -178,7 +178,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -274,7 +274,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -380,7 +380,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -496,7 +496,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -622,7 +622,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -758,7 +758,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -904,7 +904,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1060,7 +1060,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1226,7 +1226,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1402,7 +1402,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1588,7 +1588,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;
@@ -1784,7 +1784,7 @@ namespace System.Reactive.Linq.ObservableImpl
         }
     }
 
-    class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> : Producer<TResult>
+    internal sealed class Zip<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult> : Producer<TResult>
     {
         private readonly IObservable<T1> _source1;
         private readonly IObservable<T2> _source2;

+ 1 - 1
Rx.NET/Source/src/System.Reactive/Linq/Observable/Zip.Generated.tt

@@ -29,7 +29,7 @@ for (var i = 3; i <= 16; i++)
     var os = string.Join(", ", Enumerable.Range(1, i).Select(j => "IObservable<T" + j + "> source" + j));
     var vs = string.Join(", ", Enumerable.Range(1, i).Select(j => "_observer" + j + ".Values.Dequeue()"));
 #>
-    class Zip<<#=ts#>, TResult> : Producer<TResult>
+    internal sealed class Zip<<#=ts#>, TResult> : Producer<TResult>
     {
 <#
 for (var j = 1; j <= i; j++)

Some files were not shown because too many files changed in this diff