diff --git a/src/ReactiveUI.Fody.Helpers/ObservableAsPropertyExtensions.cs b/src/ReactiveUI.Fody.Helpers/ObservableAsPropertyExtensions.cs index 8c4689469d..5f9b349201 100644 --- a/src/ReactiveUI.Fody.Helpers/ObservableAsPropertyExtensions.cs +++ b/src/ReactiveUI.Fody.Helpers/ObservableAsPropertyExtensions.cs @@ -33,8 +33,8 @@ public static class ObservableAsPropertyExtensions /// public static ObservableAsPropertyHelper ToPropertyEx( this IObservable item, - TObj? source, - Expression> property, + TObj source, + Expression> property, bool deferSubscription = false, IScheduler? scheduler = null) where TObj : ReactiveObject @@ -88,8 +88,8 @@ public static ObservableAsPropertyHelper ToPropertyEx( /// public static ObservableAsPropertyHelper ToPropertyEx( this IObservable item, - TObj? source, - Expression> property, + TObj source, + Expression> property, TRet initialValue, bool deferSubscription = false, IScheduler? scheduler = null) diff --git a/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.net5.0.approved.txt b/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.net5.0.approved.txt index 9596a85c02..a4a3cd4c9f 100644 --- a/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.net5.0.approved.txt +++ b/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.net5.0.approved.txt @@ -14,9 +14,9 @@ namespace ReactiveUI.Fody.Helpers } public static class ObservableAsPropertyExtensions { - public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj? source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : ReactiveUI.ReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj? source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : ReactiveUI.ReactiveObject { } } [System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.All)] diff --git a/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.netcoreapp3.1.approved.txt b/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.netcoreapp3.1.approved.txt index 2e2c4a7cda..3a7b07a897 100644 --- a/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.netcoreapp3.1.approved.txt +++ b/src/ReactiveUI.Fody.Tests/API/ApiApprovalTests.ReactiveUIFody.netcoreapp3.1.approved.txt @@ -14,9 +14,9 @@ namespace ReactiveUI.Fody.Helpers } public static class ObservableAsPropertyExtensions { - public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj? source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : ReactiveUI.ReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj? source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToPropertyEx(this System.IObservable item, TObj source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : ReactiveUI.ReactiveObject { } } [System.AttributeUsage(System.AttributeTargets.Property | System.AttributeTargets.All)] diff --git a/src/ReactiveUI.Splat.Tests/ReactiveUI.Splat.Tests.csproj b/src/ReactiveUI.Splat.Tests/ReactiveUI.Splat.Tests.csproj index 28a0ba56cc..787c0c38b6 100644 --- a/src/ReactiveUI.Splat.Tests/ReactiveUI.Splat.Tests.csproj +++ b/src/ReactiveUI.Splat.Tests/ReactiveUI.Splat.Tests.csproj @@ -1,4 +1,4 @@ - + netcoreapp3.1;net5.0 @@ -10,7 +10,7 @@ - + diff --git a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt index 16a1bb8b57..35f622bf4d 100644 --- a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt +++ b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt @@ -401,27 +401,27 @@ namespace ReactiveUI } public static class OAPHCreationHelperMixin { - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } } public sealed class ObservableAsPropertyHelper : ReactiveUI.IHandleObservableErrors, Splat.IEnableLogger, System.IDisposable @@ -608,8 +608,8 @@ namespace ReactiveUI } public static class ReactiveNotifyPropertyChangedMixin { - public static System.IObservable> ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, bool beforeChange = false, bool skipInitial = true) { } - public static System.IObservable ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, System.Func selector, bool beforeChange = false) + public static System.IObservable> ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, bool beforeChange = false, bool skipInitial = true) { } + public static System.IObservable ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, System.Func selector, bool beforeChange = false) where TSender : class { } public static System.IObservable> SubscribeToExpressionChain(this TSender? source, System.Linq.Expressions.Expression? expression, bool beforeChange = false, bool skipInitial = true, bool suppressWarnings = false) { } } @@ -835,18 +835,18 @@ namespace ReactiveUI } public static class WhenAnyMixin { - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Func, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } @@ -859,73 +859,73 @@ namespace ReactiveUI public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Linq.Expressions.Expression? property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Linq.Expressions.Expression? property11, System.Linq.Expressions.Expression? property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func selector) { } } public static class WhenAnyObservableMixin { - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12, System.Func selector) where TSender : class { } } } diff --git a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net5.0.approved.txt b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net5.0.approved.txt index 1ca8c61df7..2368387397 100644 --- a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net5.0.approved.txt +++ b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net5.0.approved.txt @@ -396,27 +396,27 @@ namespace ReactiveUI } public static class OAPHCreationHelperMixin { - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } } public sealed class ObservableAsPropertyHelper : ReactiveUI.IHandleObservableErrors, Splat.IEnableLogger, System.IDisposable @@ -603,8 +603,8 @@ namespace ReactiveUI } public static class ReactiveNotifyPropertyChangedMixin { - public static System.IObservable> ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, bool beforeChange = false, bool skipInitial = true) { } - public static System.IObservable ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, System.Func selector, bool beforeChange = false) + public static System.IObservable> ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, bool beforeChange = false, bool skipInitial = true) { } + public static System.IObservable ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, System.Func selector, bool beforeChange = false) where TSender : class { } public static System.IObservable> SubscribeToExpressionChain(this TSender? source, System.Linq.Expressions.Expression? expression, bool beforeChange = false, bool skipInitial = true, bool suppressWarnings = false) { } } @@ -830,18 +830,18 @@ namespace ReactiveUI } public static class WhenAnyMixin { - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Func, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } @@ -854,73 +854,73 @@ namespace ReactiveUI public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Linq.Expressions.Expression? property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Linq.Expressions.Expression? property11, System.Linq.Expressions.Expression? property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func selector) { } } public static class WhenAnyObservableMixin { - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12, System.Func selector) where TSender : class { } } } diff --git a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.netcoreapp3.1.approved.txt b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.netcoreapp3.1.approved.txt index 572e684b17..e0bd33e3de 100644 --- a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.netcoreapp3.1.approved.txt +++ b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.netcoreapp3.1.approved.txt @@ -394,27 +394,27 @@ namespace ReactiveUI } public static class OAPHCreationHelperMixin { - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, out ReactiveUI.ObservableAsPropertyHelper result, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, System.Linq.Expressions.Expression> property, out ReactiveUI.ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } - public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj? source, string property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) + public static ReactiveUI.ObservableAsPropertyHelper ToProperty(this System.IObservable target, TObj source, string property, out ReactiveUI.ObservableAsPropertyHelper result, System.Func getInitialValue, bool deferSubscription = false, System.Reactive.Concurrency.IScheduler? scheduler = null) where TObj : class, ReactiveUI.IReactiveObject { } } public sealed class ObservableAsPropertyHelper : ReactiveUI.IHandleObservableErrors, Splat.IEnableLogger, System.IDisposable @@ -601,8 +601,8 @@ namespace ReactiveUI } public static class ReactiveNotifyPropertyChangedMixin { - public static System.IObservable> ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, bool beforeChange = false, bool skipInitial = true) { } - public static System.IObservable ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, System.Func selector, bool beforeChange = false) + public static System.IObservable> ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, bool beforeChange = false, bool skipInitial = true) { } + public static System.IObservable ObservableForProperty(this TSender? item, System.Linq.Expressions.Expression> property, System.Func selector, bool beforeChange = false) where TSender : class { } public static System.IObservable> SubscribeToExpressionChain(this TSender? source, System.Linq.Expressions.Expression? expression, bool beforeChange = false, bool skipInitial = true, bool suppressWarnings = false) { } } @@ -828,18 +828,18 @@ namespace ReactiveUI } public static class WhenAnyMixin { - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } + public static System.IObservable WhenAny(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Func, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Func, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } @@ -852,73 +852,73 @@ namespace ReactiveUI public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Linq.Expressions.Expression? property11, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } public static System.IObservable WhenAnyDynamic(this TSender? sender, System.Linq.Expressions.Expression? property1, System.Linq.Expressions.Expression? property2, System.Linq.Expressions.Expression? property3, System.Linq.Expressions.Expression? property4, System.Linq.Expressions.Expression? property5, System.Linq.Expressions.Expression? property6, System.Linq.Expressions.Expression? property7, System.Linq.Expressions.Expression? property8, System.Linq.Expressions.Expression? property9, System.Linq.Expressions.Expression? property10, System.Linq.Expressions.Expression? property11, System.Linq.Expressions.Expression? property12, System.Func, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, ReactiveUI.IObservedChange, TRet> selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func selector) { } - public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func selector) { } - public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Func selector) { } + public static System.IObservable> WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Func selector) { } + public static System.IObservable WhenAnyValue(this TSender? sender, System.Linq.Expressions.Expression> property1, System.Linq.Expressions.Expression> property2, System.Linq.Expressions.Expression> property3, System.Linq.Expressions.Expression> property4, System.Linq.Expressions.Expression> property5, System.Linq.Expressions.Expression> property6, System.Linq.Expressions.Expression> property7, System.Linq.Expressions.Expression> property8, System.Linq.Expressions.Expression> property9, System.Linq.Expressions.Expression> property10, System.Linq.Expressions.Expression> property11, System.Linq.Expressions.Expression> property12, System.Func selector) { } } public static class WhenAnyObservableMixin { - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Func selector) where TSender : class { } - public static System.IObservable WhenAnyObservable(this TSender? sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12, System.Func selector) + public static System.IObservable WhenAnyObservable(this TSender sender, System.Linq.Expressions.Expression?>> obs1, System.Linq.Expressions.Expression?>> obs2, System.Linq.Expressions.Expression?>> obs3, System.Linq.Expressions.Expression?>> obs4, System.Linq.Expressions.Expression?>> obs5, System.Linq.Expressions.Expression?>> obs6, System.Linq.Expressions.Expression?>> obs7, System.Linq.Expressions.Expression?>> obs8, System.Linq.Expressions.Expression?>> obs9, System.Linq.Expressions.Expression?>> obs10, System.Linq.Expressions.Expression?>> obs11, System.Linq.Expressions.Expression?>> obs12, System.Func selector) where TSender : class { } } } diff --git a/src/ReactiveUI.Tests/Mocks/MockBindListView.cs b/src/ReactiveUI.Tests/Mocks/MockBindListView.cs index 70cda838ff..8a9d7a0b60 100644 --- a/src/ReactiveUI.Tests/Mocks/MockBindListView.cs +++ b/src/ReactiveUI.Tests/Mocks/MockBindListView.cs @@ -55,7 +55,7 @@ public MockBindListView() .Where(i => i != null) .Cast() .Do(_ => ItemList.UnselectAll()) - .InvokeCommand(this, v => v.ViewModel!.SelectItem).DisposeWith(d); + .InvokeCommand(this, v => v!.ViewModel!.SelectItem).DisposeWith(d); }); } diff --git a/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs b/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs index f6d11b472a..29d9cc9a32 100644 --- a/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs +++ b/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs @@ -456,13 +456,13 @@ public void ToProperty_NameOf_ValidValuesProduced(string[] testWords, string[] f fixture.ObservableForProperty(x => x.LastThreeLettersOfOneWord, beforeChange: true).ToObservableChangeSet(ImmediateScheduler.Instance).Bind(out var lastThreeChanging).Subscribe(); - var changing = new[] { firstThreeChanging, lastThreeChanging }; + var changing = new[] { firstThreeChanging!, lastThreeChanging }; fixture.ObservableForProperty(x => x.FirstThreeLettersOfOneWord, beforeChange: false).ToObservableChangeSet(ImmediateScheduler.Instance).Bind(out var firstThreeChanged).Subscribe(); fixture.ObservableForProperty(x => x.LastThreeLettersOfOneWord, beforeChange: false).ToObservableChangeSet(ImmediateScheduler.Instance).Bind(out var lastThreeChanged).Subscribe(); - var changed = new[] { firstThreeChanged, lastThreeChanged }; + var changed = new[] { firstThreeChanged!, lastThreeChanged }; Assert.True(changed.All(x => x.Count == 0)); Assert.True(changing.All(x => x.Count == 0)); @@ -551,11 +551,11 @@ public void NullableTypesTestShouldntNeedDecorators2_ToProperty() fixture.WhenAnyValue( x => x.ProjectService.ProjectsNullable, x => x.AccountService.AccountUsersNullable) - .Where(tuple => tuple.Item1.Any() && tuple.Item2.Any()) + .Where(tuple => tuple.Item1?.Count > 0 && tuple.Item2?.Count > 0) .Select(tuple => { var (projects, users) = tuple; - return (int?)users.Values.Count(x => !string.IsNullOrWhiteSpace(x?.LastName)); + return users?.Values.Count(x => !string.IsNullOrWhiteSpace(x?.LastName)); }) .ToProperty(fixture, x => x.AccountsFound, out fixture._accountsFound); diff --git a/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs b/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs index 107192077e..9b8cfec912 100644 --- a/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs +++ b/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs @@ -145,13 +145,13 @@ private static Dictionary> GetServicesThatShouldBeRegistered(IR new Registrations().Register((factory, serviceType) => { - if (serviceTypeToImplementationTypes.TryGetValue(serviceType, out var implementationTypes) == false) + if (serviceTypeToImplementationTypes.TryGetValue(serviceType!, out var implementationTypes) == false) { implementationTypes = new List(); - serviceTypeToImplementationTypes.Add(serviceType, implementationTypes); + serviceTypeToImplementationTypes.Add(serviceType!, implementationTypes); } - implementationTypes.Add(factory().GetType()); + implementationTypes.Add(factory()!.GetType()); }); new PlatformRegistrations().Register((factory, serviceType) => diff --git a/src/ReactiveUI.Tests/WhenAny/Mockups/HostTestFixture.cs b/src/ReactiveUI.Tests/WhenAny/Mockups/HostTestFixture.cs index 4ca394fd54..5e33e0f3dc 100644 --- a/src/ReactiveUI.Tests/WhenAny/Mockups/HostTestFixture.cs +++ b/src/ReactiveUI.Tests/WhenAny/Mockups/HostTestFixture.cs @@ -3,6 +3,8 @@ // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for full license information. +using System.Reactive.Linq; + namespace ReactiveUI.Tests { /// @@ -10,12 +12,41 @@ namespace ReactiveUI.Tests /// public class HostTestFixture : ReactiveObject { + private readonly ObservableAsPropertyHelper _ownerName; private TestFixture? _Child; - + private OwnerClass? _owner; private NonObservableTestFixture? _PocoChild; - private int _SomeOtherParam; + public HostTestFixture() + { + _ownerName = this.WhenAnyValue(x => x.Owner) + .WhereNotNull() + .Select(owner => owner.WhenAnyValue(x => x.Name)) + .Switch() + .ToProperty(this, x => x.OwnerName); + } + + /// + /// Gets the name of the owner. + /// + /// + /// The name of the owner. + /// + public string? OwnerName => _ownerName.Value; + + /// + /// Gets or sets the owner. + /// + /// + /// The owner. + /// + public OwnerClass? Owner + { + get => _owner; + set => this.RaiseAndSetIfChanged(ref _owner, value); + } + /// /// Gets or sets the child. /// diff --git a/src/ReactiveUI.Tests/WhenAny/Mockups/OwnerClass.cs b/src/ReactiveUI.Tests/WhenAny/Mockups/OwnerClass.cs new file mode 100644 index 0000000000..a5c9671253 --- /dev/null +++ b/src/ReactiveUI.Tests/WhenAny/Mockups/OwnerClass.cs @@ -0,0 +1,28 @@ +// Copyright (c) 2021 .NET Foundation and Contributors. All rights reserved. +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for full license information. + +namespace ReactiveUI.Tests +{ + /// + /// Owner Class. + /// + /// + public class OwnerClass : ReactiveObject + { + private string? _name; + + /// + /// Gets or sets the name. + /// + /// + /// The name. + /// + public string? Name + { + get => _name; + set => this.RaiseAndSetIfChanged(ref _name, value); + } + } +} diff --git a/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs b/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs index 75f267be34..0972cf81ff 100644 --- a/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs +++ b/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs @@ -636,9 +636,9 @@ public void WhenAnyValueShouldWorkEvenWithNormalProperties() }; var output1 = new List(); - var output2 = new List(); + var output2 = new List(); fixture.WhenAnyValue(x => x.PocoProperty).Subscribe(output1.Add); - fixture.WhenAnyValue(x => x.IsOnlyOneWord, x => x.Length).Subscribe(output2.Add); + fixture.WhenAnyValue(x => x.IsOnlyOneWord, x => x?.Length).Subscribe(output2.Add); Assert.Equal(1, output1.Count); Assert.Equal("Bamf", output1[0]); @@ -784,11 +784,11 @@ public void NullableTypesTestShouldntNeedDecorators2() fixture.WhenAnyValue( x => x.ProjectService.ProjectsNullable, x => x.AccountService.AccountUsersNullable) - .Where(tuple => tuple.Item1.Any() && tuple.Item2.Any()) + .Where(tuple => tuple.Item1?.Count > 0 && tuple.Item2?.Count > 0) .Select(tuple => { var (projects, users) = tuple; - return users.Values.Where(x => !string.IsNullOrWhiteSpace(x?.LastName)); + return users?.Values.Where(x => !string.IsNullOrWhiteSpace(x?.LastName)); }) .Subscribe(dict => result = dict); @@ -804,7 +804,7 @@ public void NonNullableTypesTestShouldntNeedDecorators() WhenAnyTestFixture fixture = new(); IEnumerable? result = null; fixture.WhenAnyValue(x => x.AccountService.AccountUsers) - .Where(users => users.Any()) + .Where(users => users.Count > 0) .Select(users => users.Values.Where(x => !string.IsNullOrWhiteSpace(x.LastName))) .Subscribe(dict => result = dict); @@ -818,15 +818,15 @@ public void NonNullableTypesTestShouldntNeedDecorators() public void NonNullableTypesTestShouldntNeedDecorators2() { WhenAnyTestFixture fixture = new(); - IEnumerable? result = null; + IEnumerable? result = null; fixture.WhenAnyValue( x => x.ProjectService.Projects, x => x.AccountService.AccountUsers) - .Where(tuple => tuple.Item1.Any() && tuple.Item2.Any()) + .Where(tuple => tuple.Item1?.Count > 0 && tuple.Item2?.Count > 0) .Select(tuple => { var (projects, users) = tuple; - return users.Values.Where(x => !string.IsNullOrWhiteSpace(x?.LastName)); + return users!.Values.Where(x => !string.IsNullOrWhiteSpace(x.LastName)); }) .Subscribe(dict => result = dict); @@ -842,16 +842,52 @@ public void WhenAnyValueWith1Paramerters() WhenAnyTestFixture fixture = new(); string? result = null; fixture.WhenAnyValue( - x => x.Value1) - .Select(value => - { - return value; - }) - .Subscribe(value => result = value); + x => x.Value1).Subscribe(value => result = value); Assert.Equal(result, "1"); } + [Fact] + public void WhenAnyValueWith1ParamertersSequentialCheck() + { + WhenAnyTestFixture fixture = new(); + var result = string.Empty; + fixture.Value1 = null!; + fixture.WhenAnyValue( + x => x.Value1).Subscribe(value => result = value); + + Assert.Equal(result, null); + + fixture.Value1 = "A"; + Assert.Equal(result, "A"); + + fixture.Value1 = "B"; + Assert.Equal(result, "B"); + + fixture.Value1 = null!; + Assert.Equal(result, null); + } + + [Fact] + public void WhenAnyValueWith1ParamertersSequentialCheckNullable() + { + WhenAnyTestFixture fixture = new(); + var result = string.Empty; + fixture.WhenAnyValue( + x => x.Value2).Subscribe(value => result = value); + + Assert.Equal(result, null); + + fixture.Value2 = "A"; + Assert.Equal(result, "A"); + + fixture.Value2 = "B"; + Assert.Equal(result, "B"); + + fixture.Value2 = null; + Assert.Equal(result, null); + } + /// /// Whens any value with2 paramerters returns tuple. /// @@ -1289,5 +1325,31 @@ public void WhenAnyValueWith12ParamertersReturnsValues() Assert.Equal(result, "1357911"); } + + [Fact] + public void WhenAnyValueWithToProperty() + { + HostTestFixture? fixture = new(); + + Assert.Equal(null, fixture.Owner); + Assert.Equal(null, fixture.OwnerName); + + fixture.Owner = new(); + fixture.Owner.Name = "Fred"; + Assert.NotNull(fixture.Owner); + Assert.Equal("Fred", fixture.OwnerName); + + fixture.Owner.Name = "Wilma"; + Assert.Equal("Wilma", fixture.OwnerName); + + fixture.Owner.Name = null; + Assert.Equal(null, fixture.OwnerName); + + fixture.Owner.Name = "Barney"; + Assert.Equal("Barney", fixture.OwnerName); + + fixture.Owner.Name = "Betty"; + Assert.Equal("Betty", fixture.OwnerName); + } } } diff --git a/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs b/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs index bbc449e767..3d3f4b2d6a 100644 --- a/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs +++ b/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs @@ -49,15 +49,10 @@ public static class ReactiveNotifyPropertyChangedMixin /// notifications for the given property. public static IObservable> ObservableForProperty( this TSender? item, - Expression> property, + Expression> property, bool beforeChange = false, bool skipInitial = true) { - if (item is null) - { - throw new ArgumentNullException(nameof(item)); - } - if (property is null) { throw new ArgumentNullException(nameof(property)); @@ -105,7 +100,7 @@ public static IObservable> ObservableForPropert /// notifications for the given property. public static IObservable ObservableForProperty( this TSender? item, - Expression> property, + Expression> property, Func selector, bool beforeChange = false) // TODO: Create Test where TSender : class @@ -139,13 +134,8 @@ public static IObservable> SubscribeToExpressio bool skipInitial = true, bool suppressWarnings = false) // TODO: Create Test { - if (source is null) - { - throw new ArgumentNullException(nameof(source)); - } - IObservable> notifier = - Observable.Return(new ObservedChange(null, null!, source)); + Observable.Return(new ObservedChange(null, null, source)); var chain = Reflection.Rewrite(expression).GetExpressionChain(); notifier = chain.Aggregate(notifier, (n, expr) => n @@ -168,7 +158,7 @@ public static IObservable> SubscribeToExpressio throw new InvalidCastException($"Unable to cast from {val.GetType()} to {typeof(TValue)}."); } - return new ObservedChange(source, expression, (TValue)val!); + return new ObservedChange(source!, expression, (TValue)val!); }); return r.DistinctUntilChanged(x => x.Value); diff --git a/src/ReactiveUI/ObservableForProperty/OAPHCreationHelperMixin.cs b/src/ReactiveUI/ObservableForProperty/OAPHCreationHelperMixin.cs index a93e5f3b24..f2a769ec72 100644 --- a/src/ReactiveUI/ObservableForProperty/OAPHCreationHelperMixin.cs +++ b/src/ReactiveUI/ObservableForProperty/OAPHCreationHelperMixin.cs @@ -46,8 +46,8 @@ public static class OAPHCreationHelperMixin /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, - Expression> property, + TObj source, + Expression> property, bool deferSubscription = false, IScheduler? scheduler = null) // TODO: Create Test where TObj : class, IReactiveObject @@ -105,8 +105,8 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, - Expression> property, + TObj source, + Expression> property, TRet initialValue, bool deferSubscription = false, IScheduler? scheduler = null) // TODO: Create Test @@ -148,8 +148,8 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, - Expression> property, + TObj source, + Expression> property, Func getInitialValue, bool deferSubscription = false, IScheduler? scheduler = null) // TODO: Create Test @@ -190,8 +190,8 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, - Expression> property, + TObj source, + Expression> property, out ObservableAsPropertyHelper result, bool deferSubscription = false, IScheduler? scheduler = null) // TODO: Create Test @@ -257,8 +257,8 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, - Expression> property, + TObj source, + Expression> property, out ObservableAsPropertyHelper result, TRet initialValue, bool deferSubscription = false, @@ -304,8 +304,8 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, - Expression> property, + TObj source, + Expression> property, out ObservableAsPropertyHelper result, Func getInitialValue, bool deferSubscription = false, @@ -354,7 +354,7 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, + TObj source, string property, TRet initialValue, bool deferSubscription = false, @@ -395,7 +395,7 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, + TObj source, string property, bool deferSubscription = false, IScheduler? scheduler = null) // TODO: Create Test @@ -455,7 +455,7 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, + TObj source, string property, Func getInitialValue, bool deferSubscription = false, @@ -515,7 +515,7 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, + TObj source, string property, out ObservableAsPropertyHelper result, bool deferSubscription = false, @@ -584,7 +584,7 @@ public static ObservableAsPropertyHelper ToProperty( /// public static ObservableAsPropertyHelper ToProperty( this IObservable target, - TObj? source, + TObj source, string property, out ObservableAsPropertyHelper result, Func getInitialValue, @@ -618,9 +618,9 @@ public static ObservableAsPropertyHelper ToProperty( } private static ObservableAsPropertyHelper ObservableToProperty( - this TObj? target, + this TObj target, IObservable observable, - Expression> property, + Expression> property, Func getInitialValue, bool deferSubscription = false, IScheduler? scheduler = null) @@ -678,9 +678,9 @@ private static ObservableAsPropertyHelper ObservableToProperty } private static ObservableAsPropertyHelper ObservableToProperty( - this TObj? target, + this TObj target, IObservable observable, - Expression> property, + Expression> property, bool deferSubscription = false, IScheduler? scheduler = null) where TObj : class, IReactiveObject @@ -737,7 +737,7 @@ private static ObservableAsPropertyHelper ObservableToProperty } private static ObservableAsPropertyHelper ObservableToProperty( - this TObj? target, + this TObj target, IObservable observable, string property, Func getInitialValue, @@ -770,7 +770,7 @@ private static ObservableAsPropertyHelper ObservableToProperty } private static ObservableAsPropertyHelper ObservableToProperty( - this TObj? target, + this TObj target, IObservable observable, string property, bool deferSubscription = false, diff --git a/src/ReactiveUI/Platforms/uikit-common/RoutedViewHost.cs b/src/ReactiveUI/Platforms/uikit-common/RoutedViewHost.cs index b1943d8be1..afbf126e39 100644 --- a/src/ReactiveUI/Platforms/uikit-common/RoutedViewHost.cs +++ b/src/ReactiveUI/Platforms/uikit-common/RoutedViewHost.cs @@ -59,8 +59,11 @@ public RoutedViewHost() if (view is not null) { - _titleUpdater.Disposable = Router.GetCurrentViewModel() - .WhenAnyValue(y => y.UrlPathSegment) + _titleUpdater.Disposable = Router + .WhenAnyValue(y => y.GetCurrentViewModel()) + .WhereNotNull() + .Select(vm => vm.WhenAnyValue(x => x.UrlPathSegment)) + .Switch() .Subscribe(y => view.NavigationItem.Title = y); } } @@ -85,9 +88,12 @@ public RoutedViewHost() if (x?.View is not null) { - _titleUpdater.Disposable = Router.GetCurrentViewModel() - .WhenAnyValue(y => y.UrlPathSegment) - .Subscribe(y => x.View.NavigationItem.Title = y); + _titleUpdater.Disposable = Router + .WhenAnyValue(y => y.GetCurrentViewModel()) + .WhereNotNull() + .Select(vm => vm.WhenAnyValue(x => x.UrlPathSegment)) + .Switch() + .Subscribe(y => x.View.NavigationItem.Title = y); } _routerInstigated = true; diff --git a/src/ReactiveUI/VariadicTemplates.cs b/src/ReactiveUI/VariadicTemplates.cs index 907d1dc1a6..0a8fdfa05f 100644 --- a/src/ReactiveUI/VariadicTemplates.cs +++ b/src/ReactiveUI/VariadicTemplates.cs @@ -35,9 +35,9 @@ public static class WhenAnyMixin /// The first property chain to reference. This will be a expression pointing to a end property or field. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1) + Expression> property1) { - return sender.WhenAny(property1, (IObservedChange c1) => c1.Value); + return sender!.WhenAny(property1, (IObservedChange c1) => c1.Value); } @@ -54,10 +54,10 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, + Expression> property1, Func selector) { - return sender.WhenAny(property1, + return sender!.WhenAny(property1, (c1) => selector(c1.Value)); } @@ -74,10 +74,10 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, + Expression> property1, Func, TRet> selector) { - return sender.ObservableForProperty(property1, false, false).Select(selector); + return sender!.ObservableForProperty(property1, false, false).Select(selector); } @@ -112,11 +112,11 @@ public static IObservable WhenAnyDynamic( /// The 2 property chain to reference. This will be a expression pointing to a end property or field. public static IObservable<(T1,T2)> WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2 + Expression> property1, + Expression> property2 ) { - return sender.WhenAny(property1, property2, + return sender!.WhenAny(property1, property2, (c1, c2) => (c1.Value, c2.Value)); } @@ -134,11 +134,11 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, + Expression> property1, + Expression> property2, Func selector) { - return sender.WhenAny(property1, property2, + return sender!.WhenAny(property1, property2, (c1, c2) => selector(c1.Value, c2.Value)); } @@ -156,13 +156,13 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, + Expression> property1, + Expression> property2, Func, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), selector ); } @@ -207,12 +207,12 @@ public static IObservable WhenAnyDynamic( /// The 3 property chain to reference. This will be a expression pointing to a end property or field. public static IObservable<(T1,T2,T3)> WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3 + Expression> property1, + Expression> property2, + Expression> property3 ) { - return sender.WhenAny(property1, property2, property3, + return sender!.WhenAny(property1, property2, property3, (c1, c2, c3) => (c1.Value, c2.Value, c3.Value)); } @@ -231,12 +231,12 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, + Expression> property1, + Expression> property2, + Expression> property3, Func selector) { - return sender.WhenAny(property1, property2, property3, + return sender!.WhenAny(property1, property2, property3, (c1, c2, c3) => selector(c1.Value, c2.Value, c3.Value)); } @@ -255,15 +255,15 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, + Expression> property1, + Expression> property2, + Expression> property3, Func, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), selector ); } @@ -313,13 +313,13 @@ public static IObservable WhenAnyDynamic( /// The 4 property chain to reference. This will be a expression pointing to a end property or field. public static IObservable<(T1,T2,T3,T4)> WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4 + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4 ) { - return sender.WhenAny(property1, property2, property3, property4, + return sender!.WhenAny(property1, property2, property3, property4, (c1, c2, c3, c4) => (c1.Value, c2.Value, c3.Value, c4.Value)); } @@ -339,13 +339,13 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, + return sender!.WhenAny(property1, property2, property3, property4, (c1, c2, c3, c4) => selector(c1.Value, c2.Value, c3.Value, c4.Value)); } @@ -365,17 +365,17 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, Func, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), selector ); } @@ -430,14 +430,14 @@ public static IObservable WhenAnyDynamic( /// The 5 property chain to reference. This will be a expression pointing to a end property or field. public static IObservable<(T1,T2,T3,T4,T5)> WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5 + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5 ) { - return sender.WhenAny(property1, property2, property3, property4, property5, + return sender!.WhenAny(property1, property2, property3, property4, property5, (c1, c2, c3, c4, c5) => (c1.Value, c2.Value, c3.Value, c4.Value, c5.Value)); } @@ -458,14 +458,14 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, + return sender!.WhenAny(property1, property2, property3, property4, property5, (c1, c2, c3, c4, c5) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value)); } @@ -486,19 +486,19 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), selector ); } @@ -558,15 +558,15 @@ public static IObservable WhenAnyDynamic( /// The 6 property chain to reference. This will be a expression pointing to a end property or field. public static IObservable<(T1,T2,T3,T4,T5,T6)> WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6 + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6 ) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, (c1, c2, c3, c4, c5, c6) => (c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value)); } @@ -588,15 +588,15 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, (c1, c2, c3, c4, c5, c6) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value)); } @@ -618,21 +618,21 @@ public static IObservable WhenAnyValue( /// The selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), selector ); } @@ -697,16 +697,16 @@ public static IObservable WhenAnyDynamic( /// The 7 property chain to reference. This will be a expression pointing to a end property or field. public static IObservable<(T1,T2,T3,T4,T5,T6,T7)> WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7 + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7 ) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, (c1, c2, c3, c4, c5, c6, c7) => (c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value)); } @@ -729,16 +729,16 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, (c1, c2, c3, c4, c5, c6, c7) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value)); } @@ -761,23 +761,23 @@ public static IObservable WhenAnyValueThe selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), - sender.ObservableForProperty(property7, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property7, false, false), selector ); } @@ -849,17 +849,17 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, (c1, c2, c3, c4, c5, c6, c7, c8) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value)); } @@ -883,25 +883,25 @@ public static IObservable WhenAnyValueThe selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), - sender.ObservableForProperty(property7, false, false), - sender.ObservableForProperty(property8, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property7, false, false), + sender!.ObservableForProperty(property8, false, false), selector ); } @@ -978,18 +978,18 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, (c1, c2, c3, c4, c5, c6, c7, c8, c9) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value)); } @@ -1014,27 +1014,27 @@ public static IObservable WhenAnyValueThe selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), - sender.ObservableForProperty(property7, false, false), - sender.ObservableForProperty(property8, false, false), - sender.ObservableForProperty(property9, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property7, false, false), + sender!.ObservableForProperty(property8, false, false), + sender!.ObservableForProperty(property9, false, false), selector ); } @@ -1116,19 +1116,19 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, - Expression> property10, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, + Expression> property10, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value, c10.Value)); } @@ -1154,29 +1154,29 @@ public static IObservable WhenAnyValueThe selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, - Expression> property10, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, + Expression> property10, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), - sender.ObservableForProperty(property7, false, false), - sender.ObservableForProperty(property8, false, false), - sender.ObservableForProperty(property9, false, false), - sender.ObservableForProperty(property10, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property7, false, false), + sender!.ObservableForProperty(property8, false, false), + sender!.ObservableForProperty(property9, false, false), + sender!.ObservableForProperty(property10, false, false), selector ); } @@ -1263,20 +1263,20 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, - Expression> property10, - Expression> property11, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, + Expression> property10, + Expression> property11, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, property11, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, property11, (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value, c10.Value, c11.Value)); } @@ -1303,31 +1303,31 @@ public static IObservable WhenAnyValueThe selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, - Expression> property10, - Expression> property11, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, + Expression> property10, + Expression> property11, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), - sender.ObservableForProperty(property7, false, false), - sender.ObservableForProperty(property8, false, false), - sender.ObservableForProperty(property9, false, false), - sender.ObservableForProperty(property10, false, false), - sender.ObservableForProperty(property11, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property7, false, false), + sender!.ObservableForProperty(property8, false, false), + sender!.ObservableForProperty(property9, false, false), + sender!.ObservableForProperty(property10, false, false), + sender!.ObservableForProperty(property11, false, false), selector ); } @@ -1419,21 +1419,21 @@ public static IObservable WhenAnyDynamic( /// The selector which will determine the final value from the properties. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, - Expression> property10, - Expression> property11, - Expression> property12, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, + Expression> property10, + Expression> property11, + Expression> property12, Func selector) { - return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, property11, property12, + return sender!.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, property11, property12, (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12) => selector(c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value, c9.Value, c10.Value, c11.Value, c12.Value)); } @@ -1461,33 +1461,33 @@ public static IObservable WhenAnyValueThe selector which will determine the final value from the properties. public static IObservable WhenAny( this TSender? sender, - Expression> property1, - Expression> property2, - Expression> property3, - Expression> property4, - Expression> property5, - Expression> property6, - Expression> property7, - Expression> property8, - Expression> property9, - Expression> property10, - Expression> property11, - Expression> property12, + Expression> property1, + Expression> property2, + Expression> property3, + Expression> property4, + Expression> property5, + Expression> property6, + Expression> property7, + Expression> property8, + Expression> property9, + Expression> property10, + Expression> property11, + Expression> property12, Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( - sender.ObservableForProperty(property1, false, false), - sender.ObservableForProperty(property2, false, false), - sender.ObservableForProperty(property3, false, false), - sender.ObservableForProperty(property4, false, false), - sender.ObservableForProperty(property5, false, false), - sender.ObservableForProperty(property6, false, false), - sender.ObservableForProperty(property7, false, false), - sender.ObservableForProperty(property8, false, false), - sender.ObservableForProperty(property9, false, false), - sender.ObservableForProperty(property10, false, false), - sender.ObservableForProperty(property11, false, false), - sender.ObservableForProperty(property12, false, false), + sender!.ObservableForProperty(property1, false, false), + sender!.ObservableForProperty(property2, false, false), + sender!.ObservableForProperty(property3, false, false), + sender!.ObservableForProperty(property4, false, false), + sender!.ObservableForProperty(property5, false, false), + sender!.ObservableForProperty(property6, false, false), + sender!.ObservableForProperty(property7, false, false), + sender!.ObservableForProperty(property8, false, false), + sender!.ObservableForProperty(property9, false, false), + sender!.ObservableForProperty(property10, false, false), + sender!.ObservableForProperty(property11, false, false), + sender!.ObservableForProperty(property12, false, false), selector ); } @@ -1566,20 +1566,20 @@ public static class WhenAnyObservableMixin /// Observe a observable which is set to a property, and automatically subscribe to the most recent emitted value. /// The object where the property chain starts. /// The first observable to observe. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1) where TSender : class { - return sender!.WhenAny(obs1, x => x.Value.EmptyIfNull()).Switch(); + return sender.WhenAny(obs1, x => x.Value!.EmptyIfNull()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. /// The object where the property chain starts. /// The 1 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 2 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2) where TSender : class { - return sender!.WhenAny(obs1, obs2, (o1, o2) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, (o1, o2) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1587,10 +1587,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 1 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 2 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 3 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, (o1, o2, o3) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, (o1, o2, o3) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1599,10 +1599,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 2 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 3 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 4 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, (o1, o2, o3, o4) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, (o1, o2, o3, o4) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1612,10 +1612,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 3 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 4 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 5 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, (o1, o2, o3, o4, o5) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, (o1, o2, o3, o4, o5) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1626,10 +1626,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 4 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 5 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 6 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, (o1, o2, o3, o4, o5, o6) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, (o1, o2, o3, o4, o5, o6) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1641,10 +1641,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 5 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 6 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 7 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, (o1, o2, o3, o4, o5, o6, o7) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, (o1, o2, o3, o4, o5, o6, o7) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1657,10 +1657,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 6 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 7 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 8 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, (o1, o2, o3, o4, o5, o6, o7, o8) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, (o1, o2, o3, o4, o5, o6, o7, o8) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1674,10 +1674,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 7 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 8 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 9 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, (o1, o2, o3, o4, o5, o6, o7, o8, o9) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, (o1, o2, o3, o4, o5, o6, o7, o8, o9) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1692,10 +1692,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 8 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 9 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 10 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, Expression?>> obs10) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, Expression?>> obs10) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), o10.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), o10.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1711,10 +1711,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 9 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 10 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 11 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, Expression?>> obs10, Expression?>> obs11) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, Expression?>> obs10, Expression?>> obs11) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), o10.Value.EmptyIfNull(), o11.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), o10.Value!.EmptyIfNull(), o11.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1731,10 +1731,10 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 10 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 11 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. /// The 12 property chain to reference which ends with an observable. This will be a expression pointing to a end property or field which must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, Expression?>> obs10, Expression?>> obs11, Expression?>> obs12) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, Expression?>> obs10, Expression?>> obs11, Expression?>> obs12) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, obs12, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12) => new[] {o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), o10.Value.EmptyIfNull(), o11.Value.EmptyIfNull(), o12.Value.EmptyIfNull()}) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, obs12, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12) => new[] {o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), o10.Value!.EmptyIfNull(), o11.Value!.EmptyIfNull(), o12.Value!.EmptyIfNull()}) .Select(x => x.Merge()).Switch(); } @@ -1743,13 +1743,13 @@ public static IObservable WhenAnyObservable(this TSender? s /// The 1 property chain to reference. /// The 2 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Func selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, (o1, o2) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, (o1, o2) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1758,14 +1758,14 @@ public static IObservable WhenAnyObservable(this TSe /// The 2 property chain to reference. /// The 3 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, Func selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, (o1, o2, o3) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, (o1, o2, o3) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1775,7 +1775,7 @@ public static IObservable WhenAnyObservable(this /// The 3 property chain to reference. /// The 4 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1783,7 +1783,7 @@ public static IObservable WhenAnyObservable(th Func selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, (o1, o2, o3, o4) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, (o1, o2, o3, o4) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1794,7 +1794,7 @@ public static IObservable WhenAnyObservable(th /// The 4 property chain to reference. /// The 5 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1803,7 +1803,7 @@ public static IObservable WhenAnyObservable Func selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, (o1, o2, o3, o4, o5) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, (o1, o2, o3, o4, o5) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1815,7 +1815,7 @@ public static IObservable WhenAnyObservable /// The 5 property chain to reference. /// The 6 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1825,7 +1825,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, (o1, o2, o3, o4, o5, o6) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, (o1, o2, o3, o4, o5, o6) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1838,7 +1838,7 @@ public static IObservable WhenAnyObservableThe 6 property chain to reference. /// The 7 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1849,7 +1849,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, (o1, o2, o3, o4, o5, o6, o7) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, (o1, o2, o3, o4, o5, o6, o7) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1863,7 +1863,7 @@ public static IObservable WhenAnyObservableThe 7 property chain to reference. /// The 8 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1875,7 +1875,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, (o1, o2, o3, o4, o5, o6, o7, o8) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, (o1, o2, o3, o4, o5, o6, o7, o8) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1890,7 +1890,7 @@ public static IObservable WhenAnyObservableThe 8 property chain to reference. /// The 9 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1903,7 +1903,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, (o1, o2, o3, o4, o5, o6, o7, o8, o9) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, (o1, o2, o3, o4, o5, o6, o7, o8, o9) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1919,7 +1919,7 @@ public static IObservable WhenAnyObservableThe 9 property chain to reference. /// The 10 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1933,7 +1933,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), o10.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), o10.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1950,7 +1950,7 @@ public static IObservable WhenAnyObservableThe 10 property chain to reference. /// The 11 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1965,7 +1965,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), o10.Value.EmptyIfNull(), o11.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), o10.Value!.EmptyIfNull(), o11.Value!.EmptyIfNull(), selector)) .Switch(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1983,7 +1983,7 @@ public static IObservable WhenAnyObservableThe 11 property chain to reference. /// The 12 property chain to reference. /// The selector which will determine the final value from the properties. This must be an observable. - public static IObservable WhenAnyObservable(this TSender? sender, + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1, Expression?>> obs2, Expression?>> obs3, @@ -1999,7 +1999,7 @@ public static IObservable WhenAnyObservable selector) where TSender : class { - return sender!.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, obs12, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12) => Observable.CombineLatest(o1.Value.EmptyIfNull(), o2.Value.EmptyIfNull(), o3.Value.EmptyIfNull(), o4.Value.EmptyIfNull(), o5.Value.EmptyIfNull(), o6.Value.EmptyIfNull(), o7.Value.EmptyIfNull(), o8.Value.EmptyIfNull(), o9.Value.EmptyIfNull(), o10.Value.EmptyIfNull(), o11.Value.EmptyIfNull(), o12.Value.EmptyIfNull(), selector)) + return sender.WhenAny(obs1, obs2, obs3, obs4, obs5, obs6, obs7, obs8, obs9, obs10, obs11, obs12, (o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12) => Observable.CombineLatest(o1.Value!.EmptyIfNull(), o2.Value!.EmptyIfNull(), o3.Value!.EmptyIfNull(), o4.Value!.EmptyIfNull(), o5.Value!.EmptyIfNull(), o6.Value!.EmptyIfNull(), o7.Value!.EmptyIfNull(), o8.Value!.EmptyIfNull(), o9.Value!.EmptyIfNull(), o10.Value!.EmptyIfNull(), o11.Value!.EmptyIfNull(), o12.Value!.EmptyIfNull(), selector)) .Switch(); } } diff --git a/src/ReactiveUI/VariadicTemplates.tt b/src/ReactiveUI/VariadicTemplates.tt index 670e9c7957..b07536de57 100644 --- a/src/ReactiveUI/VariadicTemplates.tt +++ b/src/ReactiveUI/VariadicTemplates.tt @@ -46,9 +46,9 @@ namespace ReactiveUI /// The first property chain to reference. This will be a expression pointing to a end property or field. public static IObservable WhenAnyValue( this TSender? sender, - Expression> property1) + Expression> property1) { - return sender.WhenAny(property1, (IObservedChange c1) => c1.Value); + return sender!.WhenAny(property1, (IObservedChange c1) => c1.Value); } <# for(int length=1; length <= maxFuncLength; length++) { #> @@ -74,11 +74,11 @@ namespace ReactiveUI <# } #>public static IObservable<(<#= String.Join(",", templParams) #>)> WhenAnyValue>( this TSender? sender, <# for(int i=1; i <= length; i++) { #> - Expression?>> property<#=i#><# if (i != length) { #>,<# } #> + Expression>> property<#=i#><# if (i != length) { #>,<# } #> <# } #>) { - return sender.WhenAny(<#= valuePropertyParams #>, + return sender!.WhenAny(<#= valuePropertyParams #>, (<#= valueSelectorParams #>) => (<#= valueSelectorArgs #>)); } @@ -98,11 +98,11 @@ namespace ReactiveUI public static IObservable WhenAnyValue>( this TSender? sender, <# for(int i=1; i <= length; i++) { #> - Expression?>> property<#=i#>, + Expression>> property<#=i#>, <# } #> Func<<#= String.Join(",", templParams) #>, TRet> selector) { - return sender.WhenAny(<#= valuePropertyParams #>, + return sender!.WhenAny(<#= valuePropertyParams #>, (<#= valueSelectorParams #>) => selector(<#= valueSelectorArgs #>)); } @@ -121,16 +121,16 @@ namespace ReactiveUI public static IObservable WhenAny>( this TSender? sender, <# for(int i=1; i <= length; i++) { #> - Expression?>> property<#=i#>, + Expression>> property<#=i#>, <# } #> Func<<#= selectorTypeParams #>, TRet> selector) { <# if (length == 1){ #> - return sender.ObservableForProperty(property<#=1#>, false, false).Select(selector); + return sender!.ObservableForProperty(property<#=1#>, false, false).Select(selector); <# }else{ #> return Observable.CombineLatest( <# for(int i=1; i <= length; i++) { #> - sender.ObservableForProperty(property<#=i#>, false, false), + sender!.ObservableForProperty(property<#=i#>, false, false), <# } #> selector ); @@ -178,10 +178,10 @@ namespace ReactiveUI /// Observe a observable which is set to a property, and automatically subscribe to the most recent emitted value. /// The object where the property chain starts. /// The first observable to observe. - public static IObservable WhenAnyObservable(this TSender? sender, Expression?>> obs1) + public static IObservable WhenAnyObservable(this TSender sender, Expression?>> obs1) where TSender : class { - return sender!.WhenAny(obs1, x => x.Value.EmptyIfNull()).Switch(); + return sender.WhenAny(obs1, x => x.Value!.EmptyIfNull()).Switch(); } <# for(int length=2; length <= maxFuncLength; length++) { #> @@ -192,11 +192,11 @@ namespace ReactiveUI <# } #> <# string paramsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "Expression?>> obs" + x.ToString())); #> <# string varsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "obs" + x.ToString())); #> -<# string valsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "o" + x.ToString() + ".Value.EmptyIfNull()")); #> - public static IObservable WhenAnyObservable(this TSender? sender, <#= paramsStr #>) +<# string valsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "o" + x.ToString() + ".Value!.EmptyIfNull()")); #> + public static IObservable WhenAnyObservable(this TSender sender, <#= paramsStr #>) where TSender : class { - return sender!.WhenAny(<#= varsStr #>, (<#=varsStr.Replace("obs", "o")#>) => new[] {<#= valsStr #>}) + return sender.WhenAny(<#= varsStr #>, (<#=varsStr.Replace("obs", "o")#>) => new[] {<#= valsStr #>}) .Select(x => x.Merge()).Switch(); } <# } #> @@ -210,16 +210,16 @@ namespace ReactiveUI <# var templParams = Enumerable.Range(1, length).Select(x => "T" + x.ToString() + "?"); #> <# var templParamsDec = Enumerable.Range(1, length).Select(x => "T" + x.ToString()); #> <# string varsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "obs" + x.ToString())); #> -<# string valsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "o" + x.ToString() + ".Value.EmptyIfNull()")); #> +<# string valsStr = String.Join(", ", Enumerable.Range(1, length).Select(x => "o" + x.ToString() + ".Value!.EmptyIfNull()")); #> <# string selectorTypeParams = String.Join(", ", templParams); #> - public static IObservable WhenAnyObservable>(this TSender? sender, + public static IObservable WhenAnyObservable>(this TSender sender, <# for(int i=1; i <= length; i++) { #> Expression>?>> obs<#=i#>, <# } #> Func<<#= selectorTypeParams #>, TRet> selector) where TSender : class { - return sender!.WhenAny(<#= varsStr #>, (<#=varsStr.Replace("obs", "o")#>) => Observable.CombineLatest(<#= valsStr #>, selector)) + return sender.WhenAny(<#= varsStr #>, (<#=varsStr.Replace("obs", "o")#>) => Observable.CombineLatest(<#= valsStr #>, selector)) .Switch(); } <# } #>