浏览代码

A few more fixes

Oren Novotny 7 年之前
父节点
当前提交
adea3899ef

+ 1 - 2
Rx.NET/Source/src/System.Reactive/Concurrency/SchedulerWrapper.cs

@@ -69,8 +69,7 @@ namespace System.Reactive.Concurrency
 
         public object GetService(Type serviceType)
         {
-            var serviceProvider = _scheduler as IServiceProvider;
-            if (serviceProvider == null)
+            if (!(_scheduler is IServiceProvider serviceProvider))
             {
                 return null;
             }

+ 1 - 2
Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Single.cs

@@ -307,8 +307,7 @@ namespace System.Reactive.Linq
             //       IQueryLanguage interface, we went for consistency with the public API, hence the odd position of the IScheduler.
             //
 
-            var valueArray = values as TSource[];
-            if (valueArray == null)
+            if (!(values is TSource[] valueArray))
             {
                 var valueList = new List<TSource>(values);
                 valueArray = valueList.ToArray();

+ 4 - 3
Rx.NET/Source/src/System.Reactive/ObservableQuery.cs

@@ -42,8 +42,9 @@ namespace System.Reactive
             //
             //   observable.AsQbservable().<operators>.ToEnumerable().AsQueryable()
             //
-            var call = expression as MethodCallExpression;
-            if (call == null || call.Method.DeclaringType != typeof(Qbservable) || call.Method.Name != nameof(Qbservable.ToQueryable))
+            if (!(expression is MethodCallExpression call) ||
+                call.Method.DeclaringType != typeof(Qbservable) ||
+                call.Method.Name != nameof(Qbservable.ToQueryable))
             {
                 throw new ArgumentException(Strings_Providers.EXPECTED_TOQUERYABLE_METHODCALL, nameof(expression));
             }
@@ -521,4 +522,4 @@ namespace System.Reactive
             }
         }
     }
-}
+}

+ 1 - 2
Rx.NET/Source/tests/Tests.System.Reactive/Tests/ArgumentValidationTest.cs

@@ -477,11 +477,10 @@ namespace ReactiveTests.Tests
                     var thrown = true;
                     try
                     {
-                        var o = m.Invoke(null, margs) as IObservable<int>;
 
                         // Should not return null, but would be mistaken for
                         // throwing because of Subscribe(null)
-                        if (o != null)
+                        if (m.Invoke(null, margs) is IObservable<int> o)
                         {
                             o.Subscribe(null);
 

+ 4 - 5
Rx.NET/Source/tests/Tests.System.Reactive/Tests/Linq/Observable/TimerTest.cs

@@ -792,21 +792,21 @@ namespace ReactiveTests.Tests
 
         public IDisposable SchedulePeriodic<TState>(TState state, TimeSpan period, Func<TState, TState> action)
         {
-            var run = new TimerRun(this.Clock);
+            var run = new TimerRun(Clock);
             _timers.Add(run);
 
             var x = state;
 
             var d = this.Schedule(period, self =>
             {
-                run.Add(this.Clock);
+                run.Add(Clock);
 
                 x = action(x);
                 self(period);
             });
 
             return new CompositeDisposable(
-                Disposable.Create(() => { run.Stop(this.Clock); }),
+                Disposable.Create(() => { run.Stop(Clock); }),
                 d
             );
         }
@@ -853,8 +853,7 @@ namespace ReactiveTests.Tests
 
         public override bool Equals(object obj)
         {
-            var other = obj as TimerRun;
-            if (other == null)
+            if (!(obj is TimerRun other))
                 return false;
 
             return _started == other._started && _stopped == other._stopped && _ticks.SequenceEqual(other._ticks);