From 9e60eef04717555acfe11c8e6fff4c8b92b6537c Mon Sep 17 00:00:00 2001 From: Chris Pulman Date: Sun, 27 Jun 2021 23:47:53 +0100 Subject: [PATCH 1/2] test add tests for when any value (#2809) * fix for WhenAnyValue now returns non nullable type fix #2806 Remove nullable return value from WhenAnyValue * Added WhenAnyValue Tests Added tests to cover tuple and value return types --- ...provalTests.ReactiveUI.net472.approved.txt | 134 ++--- ...provalTests.ReactiveUI.net5.0.approved.txt | 134 ++--- ...ests.ReactiveUI.netcoreapp3.1.approved.txt | 134 ++--- .../Activation/ActivatingViewFetcher.cs | 2 +- .../Activation/ActivatingViewTests.cs | 7 +- .../AutoPersist/AutoPersistHelperTest.cs | 1 - .../Commands/CreatesCommandBindingTests.cs | 3 - .../Commands/ReactiveCommandTest.cs | 5 - .../Comparers/OrderedComparerTests.cs | 3 +- .../InteractionBinderImplementationTests.cs | 2 - .../Locator/DefaultViewLocatorTests.cs | 3 - .../Mocks/CommandBindViewModel.cs | 5 - .../Mocks/FakeCollectionModel.cs | 6 - .../Mocks/FakeCollectionViewModel.cs | 6 - .../Mocks/FakeNestedViewModel.cs | 5 - src/ReactiveUI.Tests/Mocks/FakeViewModel.cs | 5 - .../Mocks/PropertyBindModel.cs | 6 - .../Mocks/PropertyBindViewModel.cs | 5 - .../ObservableAsPropertyHelperTest.cs | 22 +- .../ObservedChangedMixinTest.cs | 5 +- .../windows-xaml/PropertyBindingTest.cs | 4 +- .../WhenAnyThroughDependencyObjectTests.cs | 6 +- .../Platforms/wpf/Mocks/CommandBindingView.cs | 5 - .../wpf/Mocks/CommandBindingViewModel.cs | 5 - .../Platforms/wpf/Mocks/ExampleWindowView.cs | 6 - .../wpf/Mocks/FakeXamlCommandBindingView.cs | 3 - .../Platforms/wpf/Mocks/WpfTestUserControl.cs | 6 - .../WpfCommandBindingImplementationTests.cs | 1 - .../wpf/WpfViewDependencyResolverTests.cs | 4 - .../ReactiveObject/Mocks/AccountService.cs | 48 ++ .../ReactiveObject/Mocks/AccountUser.cs | 32 ++ .../Mocks/OaphNameOfTestFixture.cs | 4 +- .../ReactiveObject/Mocks/Project.cs | 32 ++ .../ReactiveObject/Mocks/ProjectService.cs | 51 ++ .../Mocks/WhenAnyTestFixture.cs | 198 +++++++ .../Resolvers/DependencyResolverTests.cs | 1 - .../PocoObservableForPropertyTests.cs | 6 +- .../Routing/Mocks/TestScreen.cs | 6 - .../Routing/Mocks/TestViewModel.cs | 6 - .../Routing/RoutableViewModelMixinTests.cs | 36 ++ .../Routing/RoutingStateTests.cs | 24 +- src/ReactiveUI.Tests/RxAppTest.cs | 2 - .../SuspensionHostExtensionsTests.cs | 6 +- .../Utilities/CompatMixins.cs | 2 - .../Utilities/CountingTestScheduler.cs | 3 - .../Utilities/EnumerableTestMixin.cs | 2 - src/ReactiveUI.Tests/Utilities/JsonHelper.cs | 3 - src/ReactiveUI.Tests/Utilities/TestLogger.cs | 3 - .../Utilities/UseInvariantCulture.cs | 5 - .../ReactiveNotifyPropertyChangedMixinTest.cs | 486 ++++++++++++++++-- .../ReactiveNotifyPropertyChangedMixin.cs | 4 +- src/ReactiveUI/VariadicTemplates.cs | 296 +++++------ src/ReactiveUI/VariadicTemplates.tt | 34 +- 53 files changed, 1275 insertions(+), 548 deletions(-) create mode 100644 src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountService.cs create mode 100644 src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountUser.cs create mode 100644 src/ReactiveUI.Tests/ReactiveObject/Mocks/Project.cs create mode 100644 src/ReactiveUI.Tests/ReactiveObject/Mocks/ProjectService.cs create mode 100644 src/ReactiveUI.Tests/ReactiveObject/Mocks/WhenAnyTestFixture.cs diff --git a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt index 73d37bb1aa..2672c89a07 100644 --- a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt +++ b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net472.approved.txt @@ -608,7 +608,7 @@ 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, 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,97 +835,97 @@ 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 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) { } - 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.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 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) { } + 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.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 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 447e71d275..0c65c7eeed 100644 --- a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net5.0.approved.txt +++ b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.net5.0.approved.txt @@ -603,7 +603,7 @@ 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, 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,97 +830,97 @@ 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 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) { } - 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.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 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) { } + 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.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 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 9e24a24957..cc29c22122 100644 --- a/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.netcoreapp3.1.approved.txt +++ b/src/ReactiveUI.Tests/API/ApiApprovalTests.ReactiveUI.netcoreapp3.1.approved.txt @@ -601,7 +601,7 @@ 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, 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,97 +828,97 @@ 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 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) { } - 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.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 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) { } + 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.Func, 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.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 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/Activation/ActivatingViewFetcher.cs b/src/ReactiveUI.Tests/Activation/ActivatingViewFetcher.cs index eb8f77a1fd..468d644073 100644 --- a/src/ReactiveUI.Tests/Activation/ActivatingViewFetcher.cs +++ b/src/ReactiveUI.Tests/Activation/ActivatingViewFetcher.cs @@ -38,7 +38,7 @@ public class ActivatingViewFetcher : IActivationForViewFetcher /// The view is null. public IObservable GetActivationForView(IActivatableView view) { - if (!(view is ActivatingView av)) + if (view is not ActivatingView av) { throw new ArgumentNullException(nameof(view)); } diff --git a/src/ReactiveUI.Tests/Activation/ActivatingViewTests.cs b/src/ReactiveUI.Tests/Activation/ActivatingViewTests.cs index fbeef360d4..f14a24a0a5 100644 --- a/src/ReactiveUI.Tests/Activation/ActivatingViewTests.cs +++ b/src/ReactiveUI.Tests/Activation/ActivatingViewTests.cs @@ -87,9 +87,10 @@ public void SwitchingViewModelDeactivatesIt() using (locator.WithResolver()) { var vm = new ActivatingViewModel(); - var fixture = new ActivatingView(); - - fixture.ViewModel = vm; + var fixture = new ActivatingView + { + ViewModel = vm + }; Assert.Equal(0, vm.IsActiveCount); Assert.Equal(0, fixture.IsActiveCount); diff --git a/src/ReactiveUI.Tests/AutoPersist/AutoPersistHelperTest.cs b/src/ReactiveUI.Tests/AutoPersist/AutoPersistHelperTest.cs index f8ae42f2db..515dec5761 100644 --- a/src/ReactiveUI.Tests/AutoPersist/AutoPersistHelperTest.cs +++ b/src/ReactiveUI.Tests/AutoPersist/AutoPersistHelperTest.cs @@ -7,7 +7,6 @@ using System.Reactive; using System.Reactive.Linq; using System.Reactive.Subjects; -using DynamicData.Binding; using Microsoft.Reactive.Testing; using ReactiveUI.Testing; using Xunit; diff --git a/src/ReactiveUI.Tests/Commands/CreatesCommandBindingTests.cs b/src/ReactiveUI.Tests/Commands/CreatesCommandBindingTests.cs index a5973646d2..4642a59b92 100644 --- a/src/ReactiveUI.Tests/Commands/CreatesCommandBindingTests.cs +++ b/src/ReactiveUI.Tests/Commands/CreatesCommandBindingTests.cs @@ -3,11 +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; using System.ComponentModel; -using System.Reactive; using System.Reactive.Linq; -using System.Reactive.Subjects; using Xunit; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Commands/ReactiveCommandTest.cs b/src/ReactiveUI.Tests/Commands/ReactiveCommandTest.cs index 7149adeeb2..d0bf4d2e94 100644 --- a/src/ReactiveUI.Tests/Commands/ReactiveCommandTest.cs +++ b/src/ReactiveUI.Tests/Commands/ReactiveCommandTest.cs @@ -5,20 +5,15 @@ using System; using System.Collections.Generic; -using System.Collections.ObjectModel; using System.Reactive; using System.Reactive.Concurrency; using System.Reactive.Linq; using System.Reactive.Subjects; using System.Threading.Tasks; using System.Windows.Input; - using DynamicData; - using Microsoft.Reactive.Testing; - using ReactiveUI.Testing; - using Xunit; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Comparers/OrderedComparerTests.cs b/src/ReactiveUI.Tests/Comparers/OrderedComparerTests.cs index 95b8f7a994..962c15887c 100644 --- a/src/ReactiveUI.Tests/Comparers/OrderedComparerTests.cs +++ b/src/ReactiveUI.Tests/Comparers/OrderedComparerTests.cs @@ -7,7 +7,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using System.Text; using Xunit; namespace ReactiveUI.Tests @@ -95,7 +94,7 @@ public void ChainOntoRegularIComparables() public void WorksWithAnonymousTypes() { var source = new List { "abc", "bcd", "cde" }; - var items = source.Select(x => new { FirstLetter = x[0], AllOfIt = x }).ToList(); + var items = source.ConvertAll(x => new { FirstLetter = x[0], AllOfIt = x }); items.Sort(OrderedComparer.For(items).OrderBy(x => x.FirstLetter)); Assert.True(items.Select(x => x.FirstLetter).SequenceEqual("abc")); diff --git a/src/ReactiveUI.Tests/InteractionBinding/InteractionBinderImplementationTests.cs b/src/ReactiveUI.Tests/InteractionBinding/InteractionBinderImplementationTests.cs index 82c3f51d3e..dc8365cc60 100644 --- a/src/ReactiveUI.Tests/InteractionBinding/InteractionBinderImplementationTests.cs +++ b/src/ReactiveUI.Tests/InteractionBinding/InteractionBinderImplementationTests.cs @@ -8,9 +8,7 @@ using System.Reactive.Linq; using System.Reactive.Threading.Tasks; using System.Threading.Tasks; - using FluentAssertions; - using Xunit; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Locator/DefaultViewLocatorTests.cs b/src/ReactiveUI.Tests/Locator/DefaultViewLocatorTests.cs index 0427b4a639..2ff5ec26fc 100644 --- a/src/ReactiveUI.Tests/Locator/DefaultViewLocatorTests.cs +++ b/src/ReactiveUI.Tests/Locator/DefaultViewLocatorTests.cs @@ -4,10 +4,7 @@ // See the LICENSE file in the project root for full license information. using System; -using System.Diagnostics.CodeAnalysis; - using Splat; - using Xunit; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Mocks/CommandBindViewModel.cs b/src/ReactiveUI.Tests/Mocks/CommandBindViewModel.cs index 30020f9db7..b133264830 100644 --- a/src/ReactiveUI.Tests/Mocks/CommandBindViewModel.cs +++ b/src/ReactiveUI.Tests/Mocks/CommandBindViewModel.cs @@ -3,12 +3,7 @@ // 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; -using System.Collections.Generic; -using System.Linq; using System.Reactive; -using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests { diff --git a/src/ReactiveUI.Tests/Mocks/FakeCollectionModel.cs b/src/ReactiveUI.Tests/Mocks/FakeCollectionModel.cs index f8443c113d..d7ac866748 100644 --- a/src/ReactiveUI.Tests/Mocks/FakeCollectionModel.cs +++ b/src/ReactiveUI.Tests/Mocks/FakeCollectionModel.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace ReactiveUI.Tests { /// diff --git a/src/ReactiveUI.Tests/Mocks/FakeCollectionViewModel.cs b/src/ReactiveUI.Tests/Mocks/FakeCollectionViewModel.cs index bfa52b81d6..8aa6c02eda 100644 --- a/src/ReactiveUI.Tests/Mocks/FakeCollectionViewModel.cs +++ b/src/ReactiveUI.Tests/Mocks/FakeCollectionViewModel.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace ReactiveUI.Tests { /// diff --git a/src/ReactiveUI.Tests/Mocks/FakeNestedViewModel.cs b/src/ReactiveUI.Tests/Mocks/FakeNestedViewModel.cs index 0ca4b5d603..b8b97ab7e9 100644 --- a/src/ReactiveUI.Tests/Mocks/FakeNestedViewModel.cs +++ b/src/ReactiveUI.Tests/Mocks/FakeNestedViewModel.cs @@ -3,12 +3,7 @@ // 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; -using System.Collections.Generic; -using System.Linq; using System.Reactive; -using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests { diff --git a/src/ReactiveUI.Tests/Mocks/FakeViewModel.cs b/src/ReactiveUI.Tests/Mocks/FakeViewModel.cs index 08709607e2..947191e2b5 100644 --- a/src/ReactiveUI.Tests/Mocks/FakeViewModel.cs +++ b/src/ReactiveUI.Tests/Mocks/FakeViewModel.cs @@ -3,12 +3,7 @@ // 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; -using System.Collections.Generic; -using System.Linq; using System.Reactive; -using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests { diff --git a/src/ReactiveUI.Tests/Mocks/PropertyBindModel.cs b/src/ReactiveUI.Tests/Mocks/PropertyBindModel.cs index f37eded88f..e41f8fb2ef 100644 --- a/src/ReactiveUI.Tests/Mocks/PropertyBindModel.cs +++ b/src/ReactiveUI.Tests/Mocks/PropertyBindModel.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace ReactiveUI.Tests { /// diff --git a/src/ReactiveUI.Tests/Mocks/PropertyBindViewModel.cs b/src/ReactiveUI.Tests/Mocks/PropertyBindViewModel.cs index 4e4bf42d4c..08432ae329 100644 --- a/src/ReactiveUI.Tests/Mocks/PropertyBindViewModel.cs +++ b/src/ReactiveUI.Tests/Mocks/PropertyBindViewModel.cs @@ -3,11 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows; using DynamicData.Binding; diff --git a/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs b/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs index 784988f9bf..f6d11b472a 100644 --- a/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs +++ b/src/ReactiveUI.Tests/ObservableAsPropertyHelper/ObservableAsPropertyHelperTest.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.Linq; using System.Reactive.Concurrency; using System.Reactive.Disposables; @@ -541,5 +540,26 @@ public void ToProperty_GivenIndexer_NotifiesOnExpectedPropertyName2() => var fixture = new OAPHIndexerTestFixture(2); }); }); + + /// + /// Nullables the types test shouldnt need decorators with toproperty. + /// + [Fact] + public void NullableTypesTestShouldntNeedDecorators2_ToProperty() + { + WhenAnyTestFixture? fixture = new(); + fixture.WhenAnyValue( + x => x.ProjectService.ProjectsNullable, + x => x.AccountService.AccountUsersNullable) + .Where(tuple => tuple.Item1.Any() && tuple.Item2.Any()) + .Select(tuple => + { + var (projects, users) = tuple; + return (int?)users.Values.Count(x => !string.IsNullOrWhiteSpace(x?.LastName)); + }) + .ToProperty(fixture, x => x.AccountsFound, out fixture._accountsFound); + + Assert.Equal(fixture.AccountsFound, 3); + } } } diff --git a/src/ReactiveUI.Tests/ObservedChanged/ObservedChangedMixinTest.cs b/src/ReactiveUI.Tests/ObservedChanged/ObservedChangedMixinTest.cs index e8f6d1a995..5c52d20b9a 100644 --- a/src/ReactiveUI.Tests/ObservedChanged/ObservedChangedMixinTest.cs +++ b/src/ReactiveUI.Tests/ObservedChanged/ObservedChangedMixinTest.cs @@ -36,10 +36,7 @@ public void GetValueShouldActuallyReturnTheValue() fixture.ObservableForProperty(x => x.IsOnlyOneWord) .Select(x => x.GetValue()) .WhereNotNull() - .Subscribe(x => - { - output.Add(x); - }); + .Subscribe(x => output.Add(x)); foreach (var v in input) { diff --git a/src/ReactiveUI.Tests/Platforms/windows-xaml/PropertyBindingTest.cs b/src/ReactiveUI.Tests/Platforms/windows-xaml/PropertyBindingTest.cs index 33a6606cc3..1543d4a25b 100644 --- a/src/ReactiveUI.Tests/Platforms/windows-xaml/PropertyBindingTest.cs +++ b/src/ReactiveUI.Tests/Platforms/windows-xaml/PropertyBindingTest.cs @@ -16,7 +16,9 @@ #if NETFX_CORE #else + using FactAttribute = Xunit.WpfFactAttribute; + #endif namespace ReactiveUI.Tests.Xaml @@ -314,7 +316,7 @@ public void BindToNullShouldThrowHelpfulError() var view = new PropertyBindView { ViewModel = null }; Assert.Throws(() => - view.WhenAnyValue(x => x.FakeControl!.NullHatingString!) + view.WhenAnyValue(x => x.FakeControl.NullHatingString) .BindTo(view.ViewModel, x => x.Property1)); } diff --git a/src/ReactiveUI.Tests/Platforms/windows-xaml/WhenAnyThroughDependencyObjectTests.cs b/src/ReactiveUI.Tests/Platforms/windows-xaml/WhenAnyThroughDependencyObjectTests.cs index 39e05917bf..f13ff8ff33 100644 --- a/src/ReactiveUI.Tests/Platforms/windows-xaml/WhenAnyThroughDependencyObjectTests.cs +++ b/src/ReactiveUI.Tests/Platforms/windows-xaml/WhenAnyThroughDependencyObjectTests.cs @@ -9,7 +9,9 @@ #if NETFX_CORE #else + using FactAttribute = Xunit.WpfFactAttribute; + #endif namespace ReactiveUI.Tests.Xaml @@ -25,7 +27,7 @@ public class WhenAnyThroughDependencyObjectTests [Fact] public void WhenAnyThroughAViewShouldntGiveNullValues() { - var vm = new HostTestFixture + HostTestFixture? vm = new() { Child = new TestFixture { @@ -42,7 +44,7 @@ public void WhenAnyThroughAViewShouldntGiveNullValues() Assert.Equal(0, output.Count); Assert.Null(fixture.ViewModel); - fixture.WhenAnyValue(x => x.ViewModel!.Child!.IsNotNullString!).Subscribe(output.Add); + fixture.WhenAnyValue(x => x.ViewModel!.Child!.IsNotNullString).Subscribe(output.Add); fixture.ViewModel = vm; Assert.Equal(1, output.Count); diff --git a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingView.cs b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingView.cs index 22232fc011..3c2a56587a 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingView.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingView.cs @@ -3,11 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Controls; using ReactiveUI.Tests.Xaml; diff --git a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingViewModel.cs b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingViewModel.cs index f75f072db0..7de3e44125 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingViewModel.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/CommandBindingViewModel.cs @@ -3,13 +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; -using System.Collections.Generic; -using System.Linq; using System.Reactive; using System.Reactive.Concurrency; -using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests.Wpf { diff --git a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/ExampleWindowView.cs b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/ExampleWindowView.cs index ae217c3de0..404e7304ec 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/ExampleWindowView.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/ExampleWindowView.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace ReactiveUI.Tests.Wpf { public class ExampleWindowView : ReactiveWindow diff --git a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/FakeXamlCommandBindingView.cs b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/FakeXamlCommandBindingView.cs index 234f988f0c..24d7dca131 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/FakeXamlCommandBindingView.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/FakeXamlCommandBindingView.cs @@ -3,9 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Text; using System.Windows.Controls; namespace ReactiveUI.Tests.Wpf diff --git a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/WpfTestUserControl.cs b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/WpfTestUserControl.cs index da98dc06a8..2a13dc563e 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/Mocks/WpfTestUserControl.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/Mocks/WpfTestUserControl.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - using System.Windows.Controls; namespace ReactiveUI.Tests.Wpf diff --git a/src/ReactiveUI.Tests/Platforms/wpf/WpfCommandBindingImplementationTests.cs b/src/ReactiveUI.Tests/Platforms/wpf/WpfCommandBindingImplementationTests.cs index a97c654730..5f309975b9 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/WpfCommandBindingImplementationTests.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/WpfCommandBindingImplementationTests.cs @@ -11,7 +11,6 @@ using System.Windows.Controls; using System.Windows.Input; using FluentAssertions; -using ReactiveUI; using Splat; using Xunit; using FactAttribute = Xunit.WpfFactAttribute; diff --git a/src/ReactiveUI.Tests/Platforms/wpf/WpfViewDependencyResolverTests.cs b/src/ReactiveUI.Tests/Platforms/wpf/WpfViewDependencyResolverTests.cs index b78fd92a81..c938b5cd4a 100644 --- a/src/ReactiveUI.Tests/Platforms/wpf/WpfViewDependencyResolverTests.cs +++ b/src/ReactiveUI.Tests/Platforms/wpf/WpfViewDependencyResolverTests.cs @@ -4,10 +4,6 @@ // See the LICENSE file in the project root for full license information. using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using Splat; using Xunit; diff --git a/src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountService.cs b/src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountService.cs new file mode 100644 index 0000000000..ae43590690 --- /dev/null +++ b/src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountService.cs @@ -0,0 +1,48 @@ +// 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. + +using System; +using System.Collections.Generic; + +namespace ReactiveUI.Tests +{ + /// + /// Account Service. + /// + /// + public class AccountService : ReactiveObject + { + /// + /// Initializes a new instance of the class. + /// + public AccountService() + { + AccountUsers.Add(Guid.NewGuid(), new() { LastName = "Harris" }); + AccountUsers.Add(Guid.NewGuid(), new() { LastName = "Jones" }); + AccountUsers.Add(Guid.NewGuid(), new() { LastName = "Smith" }); + + AccountUsersNullable.Add(Guid.NewGuid(), new() { LastName = "Harris" }); + AccountUsersNullable.Add(Guid.NewGuid(), new() { LastName = "Jones" }); + AccountUsersNullable.Add(Guid.NewGuid(), new() { LastName = "Smith" }); + AccountUsersNullable.Add(Guid.NewGuid(), null); + } + + /// + /// Gets the account users. + /// + /// + /// The account users. + /// + public Dictionary AccountUsers { get; } = new(); + + /// + /// Gets the account users nullable. + /// + /// + /// The account users nullable. + /// + public Dictionary AccountUsersNullable { get; } = new(); + } +} diff --git a/src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountUser.cs b/src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountUser.cs new file mode 100644 index 0000000000..cf74c549d4 --- /dev/null +++ b/src/ReactiveUI.Tests/ReactiveObject/Mocks/AccountUser.cs @@ -0,0 +1,32 @@ +// 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. + +using System.Runtime.Serialization; + +namespace ReactiveUI.Tests +{ + /// + /// Account User. + /// + /// + [DataContract] + public class AccountUser : ReactiveObject + { + private string? _lastName; + + /// + /// Gets or sets the last name. + /// + /// + /// The last name. + /// + [DataMember] + public string? LastName + { + get => _lastName; + set => this.RaiseAndSetIfChanged(ref _lastName, value); + } + } +} diff --git a/src/ReactiveUI.Tests/ReactiveObject/Mocks/OaphNameOfTestFixture.cs b/src/ReactiveUI.Tests/ReactiveObject/Mocks/OaphNameOfTestFixture.cs index 479671cb24..700b4f0fb5 100644 --- a/src/ReactiveUI.Tests/ReactiveObject/Mocks/OaphNameOfTestFixture.cs +++ b/src/ReactiveUI.Tests/ReactiveObject/Mocks/OaphNameOfTestFixture.cs @@ -25,9 +25,7 @@ public class OaphNameOfTestFixture : TestFixture public OaphNameOfTestFixture() { this.WhenAnyValue(x => x.IsOnlyOneWord).Select(x => x ?? string.Empty).Select(x => x.Length >= 3 ? x.Substring(0, 3) : x).ToProperty(this, nameof(FirstThreeLettersOfOneWord), out _firstThreeLettersOfOneWord); -#pragma warning disable CS8619 // Nullability of reference types in value doesn't match target type. - _lastThreeLettersOfOneWord = this.WhenAnyValue(x => x.IsOnlyOneWord).Select(x => x ?? string.Empty).Select(x => x.Length >= 3 ? x.Substring(x.Length - 3, 3) : x).ToProperty(this, nameof(LastThreeLettersOfOneWord)); -#pragma warning restore CS8619 // Nullability of reference types in value doesn't match target type. + _lastThreeLettersOfOneWord = this.WhenAnyValue(x => x.IsOnlyOneWord).Select(x => x ?? string.Empty).Select(x => x.Length >= 3 ? x.Substring(x.Length - 3, 3) : (string?)x).ToProperty(this, nameof(LastThreeLettersOfOneWord)); } /// diff --git a/src/ReactiveUI.Tests/ReactiveObject/Mocks/Project.cs b/src/ReactiveUI.Tests/ReactiveObject/Mocks/Project.cs new file mode 100644 index 0000000000..ccb4872b95 --- /dev/null +++ b/src/ReactiveUI.Tests/ReactiveObject/Mocks/Project.cs @@ -0,0 +1,32 @@ +// 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. + +using System.Runtime.Serialization; + +namespace ReactiveUI.Tests +{ + /// + /// Project. + /// + /// + [DataContract] + public class Project : ReactiveObject + { + private string? _name; + + /// + /// Gets or sets the name. + /// + /// + /// The name. + /// + [DataMember] + public string? Name + { + get => _name; + set => this.RaiseAndSetIfChanged(ref _name, value); + } + } +} diff --git a/src/ReactiveUI.Tests/ReactiveObject/Mocks/ProjectService.cs b/src/ReactiveUI.Tests/ReactiveObject/Mocks/ProjectService.cs new file mode 100644 index 0000000000..8efe690b63 --- /dev/null +++ b/src/ReactiveUI.Tests/ReactiveObject/Mocks/ProjectService.cs @@ -0,0 +1,51 @@ +// 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. + +using System; +using System.Collections.Generic; + +namespace ReactiveUI.Tests +{ + /// + /// Project Service. + /// + /// + public class ProjectService : ReactiveObject + { + /// + /// Initializes a new instance of the class. + /// + public ProjectService() + { + Projects.Add(Guid.NewGuid(), new() { Name = "Dummy1" }); + Projects.Add(Guid.NewGuid(), new() { Name = "Dummy2" }); + Projects.Add(Guid.NewGuid(), new() { Name = "Dummy3" }); + Projects.Add(Guid.NewGuid(), new() { Name = "Dummy4" }); + Projects.Add(Guid.NewGuid(), new() { Name = "Dummy5" }); + + ProjectsNullable.Add(Guid.NewGuid(), new() { Name = "Dummy1" }); + ProjectsNullable.Add(Guid.NewGuid(), new() { Name = "Dummy2" }); + ProjectsNullable.Add(Guid.NewGuid(), new() { Name = "Dummy3" }); + ProjectsNullable.Add(Guid.NewGuid(), new() { Name = "Dummy4" }); + ProjectsNullable.Add(Guid.NewGuid(), null); + } + + /// + /// Gets the projects. + /// + /// + /// The projects. + /// + public Dictionary Projects { get; } = new(); + + /// + /// Gets the projects nullable. + /// + /// + /// The projects nullable. + /// + public Dictionary ProjectsNullable { get; } = new(); + } +} diff --git a/src/ReactiveUI.Tests/ReactiveObject/Mocks/WhenAnyTestFixture.cs b/src/ReactiveUI.Tests/ReactiveObject/Mocks/WhenAnyTestFixture.cs new file mode 100644 index 0000000000..9a94a676e5 --- /dev/null +++ b/src/ReactiveUI.Tests/ReactiveObject/Mocks/WhenAnyTestFixture.cs @@ -0,0 +1,198 @@ +// 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. + +using System.Runtime.Serialization; + +namespace ReactiveUI.Tests +{ + [DataContract] + public class WhenAnyTestFixture : ReactiveObject + { + [IgnoreDataMember] +#pragma warning disable SA1401 // Fields should be private + internal ObservableAsPropertyHelper? _accountsFound; + +#pragma warning restore SA1401 // Fields should be private + + [IgnoreDataMember] + private AccountService _accountService = new(); + + [IgnoreDataMember] + private ProjectService _projectService = new(); + + private string _value1 = "1"; + private string? _value2; + private string _value3 = "3"; + private string? _value4; + private string _value5 = "5"; + private string? _value6; + private string _value7 = "7"; + private string? _value8; + private string _value9 = "9"; + private string? _value10; + + /// + /// Gets or sets the account service. + /// + /// + /// The account service. + /// + [DataMember] + public AccountService AccountService + { + get => _accountService; + set => this.RaiseAndSetIfChanged(ref _accountService, value); + } + + /// + /// Gets or sets the project service. + /// + /// + /// The project service. + /// + [DataMember] + public ProjectService ProjectService + { + get => _projectService; + set => this.RaiseAndSetIfChanged(ref _projectService, value); + } + + /// + /// Gets the first three letters of one word. + /// + [IgnoreDataMember] + public int? AccountsFound => _accountsFound!.Value; + + /// + /// Gets or sets the value1. + /// + /// + /// The value1. + /// + [DataMember] + public string Value1 + { + get => _value1; + set => this.RaiseAndSetIfChanged(ref _value1, value); + } + + /// + /// Gets or sets the value2. + /// + /// + /// The value2. + /// + [DataMember] + public string? Value2 + { + get => _value2; + set => this.RaiseAndSetIfChanged(ref _value2, value); + } + + /// + /// Gets or sets the value3. + /// + /// + /// The value3. + /// + [DataMember] + public string Value3 + { + get => _value3; + set => this.RaiseAndSetIfChanged(ref _value3, value); + } + + /// + /// Gets or sets the value4. + /// + /// + /// The value4. + /// + [DataMember] + public string? Value4 + { + get => _value4; + set => this.RaiseAndSetIfChanged(ref _value4, value); + } + + /// + /// Gets or sets the value5. + /// + /// + /// The value5. + /// + [DataMember] + public string Value5 + { + get => _value5; + set => this.RaiseAndSetIfChanged(ref _value5, value); + } + + /// + /// Gets or sets the value6. + /// + /// + /// The value6. + /// + [DataMember] + public string? Value6 + { + get => _value6; + set => this.RaiseAndSetIfChanged(ref _value6, value); + } + + /// + /// Gets or sets the value7. + /// + /// + /// The value7. + /// + [DataMember] + public string Value7 + { + get => _value7; + set => this.RaiseAndSetIfChanged(ref _value7, value); + } + + /// + /// Gets or sets the value8. + /// + /// + /// The value8. + /// + [DataMember] + public string? Value8 + { + get => _value8; + set => this.RaiseAndSetIfChanged(ref _value8, value); + } + + /// + /// Gets or sets the value9. + /// + /// + /// The value9. + /// + [DataMember] + public string Value9 + { + get => _value9; + set => this.RaiseAndSetIfChanged(ref _value9, value); + } + + /// + /// Gets or sets the value10. + /// + /// + /// The value10. + /// + [DataMember] + public string? Value10 + { + get => _value10; + set => this.RaiseAndSetIfChanged(ref _value10, value); + } + } +} diff --git a/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs b/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs index 3c5bae8953..107192077e 100644 --- a/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs +++ b/src/ReactiveUI.Tests/Resolvers/DependencyResolverTests.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; using System.Linq; using FluentAssertions; diff --git a/src/ReactiveUI.Tests/Resolvers/PocoObservableForPropertyTests.cs b/src/ReactiveUI.Tests/Resolvers/PocoObservableForPropertyTests.cs index 50bde9adfb..44e0b2487e 100644 --- a/src/ReactiveUI.Tests/Resolvers/PocoObservableForPropertyTests.cs +++ b/src/ReactiveUI.Tests/Resolvers/PocoObservableForPropertyTests.cs @@ -6,14 +6,10 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Linq.Expressions; - using FluentAssertions; - using Splat; - using Xunit; namespace ReactiveUI.Tests @@ -112,12 +108,14 @@ private class PocoType } #pragma warning disable CA1812 // Class is not instantiated + private class INPCClass : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; public void NotifyPropertyChanged() => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(string.Empty)); } + #pragma warning restore CA1812 // Class is not instantiated private class TestLogger : ILogger diff --git a/src/ReactiveUI.Tests/Routing/Mocks/TestScreen.cs b/src/ReactiveUI.Tests/Routing/Mocks/TestScreen.cs index 8038ab5cbb..96c4804fef 100644 --- a/src/ReactiveUI.Tests/Routing/Mocks/TestScreen.cs +++ b/src/ReactiveUI.Tests/Routing/Mocks/TestScreen.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace ReactiveUI.Tests { public class TestScreen : ReactiveObject, IScreen diff --git a/src/ReactiveUI.Tests/Routing/Mocks/TestViewModel.cs b/src/ReactiveUI.Tests/Routing/Mocks/TestViewModel.cs index 5da595d12b..30be79dd1f 100644 --- a/src/ReactiveUI.Tests/Routing/Mocks/TestViewModel.cs +++ b/src/ReactiveUI.Tests/Routing/Mocks/TestViewModel.cs @@ -3,12 +3,6 @@ // 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; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - namespace ReactiveUI.Tests { public class TestViewModel : ReactiveObject, IRoutableViewModel diff --git a/src/ReactiveUI.Tests/Routing/RoutableViewModelMixinTests.cs b/src/ReactiveUI.Tests/Routing/RoutableViewModelMixinTests.cs index 6f6f873847..c258e462e5 100644 --- a/src/ReactiveUI.Tests/Routing/RoutableViewModelMixinTests.cs +++ b/src/ReactiveUI.Tests/Routing/RoutableViewModelMixinTests.cs @@ -9,8 +9,14 @@ namespace ReactiveUI.Tests { + /// + /// Routable ViewModel MixinTests. + /// public class RoutableViewModelMixinTests { + /// + /// Whens the navigated to calls on navigated to when view model is first added. + /// [Fact] public void WhenNavigatedToCallsOnNavigatedToWhenViewModelIsFirstAdded() { @@ -31,6 +37,9 @@ public void WhenNavigatedToCallsOnNavigatedToWhenViewModelIsFirstAdded() Assert.Equal(1, count); } + /// + /// Whens the navigated to calls on navigated to when view model returns to top of stack. + /// [Fact] public void WhenNavigatedToCallsOnNavigatedToWhenViewModelReturnsToTopOfStack() { @@ -54,6 +63,9 @@ public void WhenNavigatedToCallsOnNavigatedToWhenViewModelReturnsToTopOfStack() Assert.Equal(2, count); } + /// + /// Whens the navigated to calls dispose when view model loses focus. + /// [Fact] public void WhenNavigatedToCallsDisposeWhenViewModelLosesFocus() { @@ -77,6 +89,9 @@ public void WhenNavigatedToCallsDisposeWhenViewModelLosesFocus() Assert.Equal(1, count); } + /// + /// Whens the navigated to calls dispose when navigation stack is reset. + /// [Fact] public void WhenNavigatedToCallsDisposeWhenNavigationStackIsReset() { @@ -100,6 +115,9 @@ public void WhenNavigatedToCallsDisposeWhenNavigationStackIsReset() Assert.Equal(1, count); } + /// + /// Whens the navigated to observable fires when view model added to navigation stack. + /// [Fact] public void WhenNavigatedToObservableFiresWhenViewModelAddedToNavigationStack() { @@ -118,6 +136,9 @@ public void WhenNavigatedToObservableFiresWhenViewModelAddedToNavigationStack() Assert.Equal(1, count); } + /// + /// Whens the navigated to observable fires when view model returns to navigation stack. + /// [Fact] public void WhenNavigatedToObservableFiresWhenViewModelReturnsToNavigationStack() { @@ -139,6 +160,9 @@ public void WhenNavigatedToObservableFiresWhenViewModelReturnsToNavigationStack( Assert.Equal(2, count); } + /// + /// Whens the navigated to observable completes when view model is removed from navigation stack. + /// [Fact] public void WhenNavigatedToObservableCompletesWhenViewModelIsRemovedFromNavigationStack() { @@ -157,6 +181,9 @@ public void WhenNavigatedToObservableCompletesWhenViewModelIsRemovedFromNavigati Assert.Equal(1, count); } + /// + /// Whens the navigated to observable completes when navigation stack is reset. + /// [Fact] public void WhenNavigatedToObservableCompletesWhenNavigationStackIsReset() { @@ -176,6 +203,9 @@ public void WhenNavigatedToObservableCompletesWhenNavigationStackIsReset() Assert.Equal(1, count); } + /// + /// Whens the navigating from observable fires when view model loses focus. + /// [Fact] public void WhenNavigatingFromObservableFiresWhenViewModelLosesFocus() { @@ -195,6 +225,9 @@ public void WhenNavigatingFromObservableFiresWhenViewModelLosesFocus() Assert.Equal(1, count); } + /// + /// Whens the navigating from observable completes when view model is removed from navigation stack. + /// [Fact] public void WhenNavigatingFromObservableCompletesWhenViewModelIsRemovedFromNavigationStack() { @@ -213,6 +246,9 @@ public void WhenNavigatingFromObservableCompletesWhenViewModelIsRemovedFromNavig Assert.Equal(1, count); } + /// + /// Whens the navigating from observable completes when navigation stack is reset. + /// [Fact] public void WhenNavigatingFromObservableCompletesWhenNavigationStackIsReset() { diff --git a/src/ReactiveUI.Tests/Routing/RoutingStateTests.cs b/src/ReactiveUI.Tests/Routing/RoutingStateTests.cs index 9fdabe3642..9e1464c618 100644 --- a/src/ReactiveUI.Tests/Routing/RoutingStateTests.cs +++ b/src/ReactiveUI.Tests/Routing/RoutingStateTests.cs @@ -4,7 +4,6 @@ // See the LICENSE file in the project root for full license information. using System; -using System.Collections.ObjectModel; using System.Linq; using System.Reactive.Concurrency; using System.Reactive.Linq; @@ -17,6 +16,10 @@ namespace ReactiveUI.Tests { public class RoutingStateTests { + /// + /// Navigations the push pop test. + /// + /// A representing the asynchronous unit test. [Fact] public async Task NavigationPushPopTest() { @@ -39,6 +42,10 @@ public async Task NavigationPushPopTest() Assert.Equal(1, fixture.NavigationStack.Count); } + /// + /// Currents the view model observable is accurate. + /// + /// A representing the asynchronous unit test. [Fact] public async Task CurrentViewModelObservableIsAccurate() { @@ -87,6 +94,9 @@ public async Task CurrentViewModelObservableIsAccurate() Assert.Equal(null, (navigatedTo as TestViewModel)?.SomeProp); } + /// + /// Currents the view model observable is accurate via when any observable. + /// [Fact] public void CurrentViewModelObservableIsAccurateViaWhenAnyObservable() { @@ -112,11 +122,16 @@ public void CurrentViewModelObservableIsAccurateViaWhenAnyObservable() Assert.Equal("A", (output.Last() as TestViewModel)?.SomeProp); } + /// + /// Navigates the and reset check navigation stack. + /// [Fact] public void NavigateAndResetCheckNavigationStack() { - var fixture = new TestScreen(); - fixture.Router = new RoutingState(); + var fixture = new TestScreen + { + Router = new RoutingState() + }; var viewModel = new TestViewModel(); Assert.False(fixture.Router.NavigationStack.Any()); @@ -127,6 +142,9 @@ public void NavigateAndResetCheckNavigationStack() Assert.True(ReferenceEquals(fixture.Router.NavigationStack.First(), viewModel)); } + /// + /// Schedulers the is used for all commands. + /// [Fact] public void SchedulerIsUsedForAllCommands() { diff --git a/src/ReactiveUI.Tests/RxAppTest.cs b/src/ReactiveUI.Tests/RxAppTest.cs index e87448464d..939d877112 100644 --- a/src/ReactiveUI.Tests/RxAppTest.cs +++ b/src/ReactiveUI.Tests/RxAppTest.cs @@ -4,9 +4,7 @@ // See the LICENSE file in the project root for full license information. using System.Diagnostics; -using System.Linq; using System.Reactive.Concurrency; -using Splat; using Xunit; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Suspension/SuspensionHostExtensionsTests.cs b/src/ReactiveUI.Tests/Suspension/SuspensionHostExtensionsTests.cs index 6f938f9140..b244423d6c 100644 --- a/src/ReactiveUI.Tests/Suspension/SuspensionHostExtensionsTests.cs +++ b/src/ReactiveUI.Tests/Suspension/SuspensionHostExtensionsTests.cs @@ -16,8 +16,10 @@ public class SuspensionHostExtensionsTests [Fact] public void GetAppStateReturns() { - var fixture = new SuspensionHost(); - fixture.AppState = new DummyAppState(); + var fixture = new SuspensionHost + { + AppState = new DummyAppState() + }; var result = fixture.GetAppState(); diff --git a/src/ReactiveUI.Tests/Utilities/CompatMixins.cs b/src/ReactiveUI.Tests/Utilities/CompatMixins.cs index bbafc2491e..bd9915bd4d 100644 --- a/src/ReactiveUI.Tests/Utilities/CompatMixins.cs +++ b/src/ReactiveUI.Tests/Utilities/CompatMixins.cs @@ -6,8 +6,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests { diff --git a/src/ReactiveUI.Tests/Utilities/CountingTestScheduler.cs b/src/ReactiveUI.Tests/Utilities/CountingTestScheduler.cs index 83c09d9a52..fb2b6e109d 100644 --- a/src/ReactiveUI.Tests/Utilities/CountingTestScheduler.cs +++ b/src/ReactiveUI.Tests/Utilities/CountingTestScheduler.cs @@ -5,10 +5,7 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Reactive.Concurrency; -using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests { diff --git a/src/ReactiveUI.Tests/Utilities/EnumerableTestMixin.cs b/src/ReactiveUI.Tests/Utilities/EnumerableTestMixin.cs index 7003e25884..b21f6a6592 100644 --- a/src/ReactiveUI.Tests/Utilities/EnumerableTestMixin.cs +++ b/src/ReactiveUI.Tests/Utilities/EnumerableTestMixin.cs @@ -7,8 +7,6 @@ using System.Collections.Generic; using System.Diagnostics; using System.Linq; -using System.Text; -using System.Threading.Tasks; using Xunit; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Utilities/JsonHelper.cs b/src/ReactiveUI.Tests/Utilities/JsonHelper.cs index a2990317a9..ab778edd52 100644 --- a/src/ReactiveUI.Tests/Utilities/JsonHelper.cs +++ b/src/ReactiveUI.Tests/Utilities/JsonHelper.cs @@ -4,11 +4,8 @@ // See the LICENSE file in the project root for full license information. using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using System.Text; -using System.Threading.Tasks; namespace ReactiveUI.Tests { diff --git a/src/ReactiveUI.Tests/Utilities/TestLogger.cs b/src/ReactiveUI.Tests/Utilities/TestLogger.cs index 6f83e5f5dd..8191a5eeb5 100644 --- a/src/ReactiveUI.Tests/Utilities/TestLogger.cs +++ b/src/ReactiveUI.Tests/Utilities/TestLogger.cs @@ -6,9 +6,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using Splat; namespace ReactiveUI.Tests diff --git a/src/ReactiveUI.Tests/Utilities/UseInvariantCulture.cs b/src/ReactiveUI.Tests/Utilities/UseInvariantCulture.cs index fe6c8c612a..1c545a22e6 100644 --- a/src/ReactiveUI.Tests/Utilities/UseInvariantCulture.cs +++ b/src/ReactiveUI.Tests/Utilities/UseInvariantCulture.cs @@ -3,14 +3,9 @@ // 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; -using System.Collections.Generic; using System.Globalization; -using System.Linq; using System.Reflection; -using System.Text; using System.Threading; -using System.Threading.Tasks; using Xunit.Sdk; diff --git a/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs b/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs index bf412e1af5..848e6778ef 100644 --- a/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs +++ b/src/ReactiveUI.Tests/WhenAny/ReactiveNotifyPropertyChangedMixinTest.cs @@ -116,9 +116,9 @@ public void OFPChangingTheHostPropertyShouldFireAChildChangeNotificationOnlyIfTh new TestScheduler().With(scheduler => { HostTestFixture? fixture = new() - { - Child = new TestFixture() - }; + { + Child = new TestFixture() + }; fixture.ObservableForProperty(x => x.Child!.IsOnlyOneWord) .ToObservableChangeSet(ImmediateScheduler.Instance) .Bind(out var changes) @@ -133,9 +133,9 @@ public void OFPChangingTheHostPropertyShouldFireAChildChangeNotificationOnlyIfTh Assert.Equal(2, changes.Count); fixture.Child = new TestFixture - { - IsOnlyOneWord = "Bar" - }; + { + IsOnlyOneWord = "Bar" + }; scheduler.Start(); Assert.Equal(2, changes.Count); }); @@ -176,9 +176,9 @@ public void OFPNamedPropertyTestBeforeChange() => new TestScheduler().With(scheduler => { TestFixture? fixture = new() - { - IsOnlyOneWord = "Pre" - }; + { + IsOnlyOneWord = "Pre" + }; fixture.ObservableForProperty(x => x.IsOnlyOneWord, beforeChange: true) .ToObservableChangeSet(ImmediateScheduler.Instance) .Bind(out var changes) @@ -205,9 +205,9 @@ public void OFPNamedPropertyTestNoSkipInitial() => new TestScheduler().With(scheduler => { TestFixture? fixture = new() - { - IsOnlyOneWord = "Pre" - }; + { + IsOnlyOneWord = "Pre" + }; fixture.ObservableForProperty(x => x.IsOnlyOneWord, skipInitial: false) .ToObservableChangeSet(ImmediateScheduler.Instance) .Bind(out var changes) @@ -261,9 +261,9 @@ public void OFPReplacingTheHostShouldResubscribeTheObservable() => new TestScheduler().With(scheduler => { HostTestFixture? fixture = new() - { - Child = new TestFixture() - }; + { + Child = new TestFixture() + }; fixture.ObservableForProperty(x => x.Child!.IsOnlyOneWord) .ToObservableChangeSet(ImmediateScheduler.Instance) .Bind(out var changes) @@ -306,9 +306,9 @@ public void OFPReplacingTheHostWithNullThenSettingItBackShouldResubscribeTheObse new TestScheduler().With(scheduler => { HostTestFixture? fixture = new() - { - Child = new TestFixture() - }; + { + Child = new TestFixture() + }; var fixtureProp = fixture.ObservableForProperty(x => x.Child!.IsOnlyOneWord); fixtureProp .ToObservableChangeSet(ImmediateScheduler.Instance) @@ -346,9 +346,9 @@ public void OFPShouldWorkWithINPCObjectsToo() => new TestScheduler().With(scheduler => { NonReactiveINPCObject? fixture = new() - { - InpcProperty = null! - }; + { + InpcProperty = null! + }; fixture.ObservableForProperty(x => x.InpcProperty.IsOnlyOneWord) .ToObservableChangeSet(ImmediateScheduler.Instance) .Bind(out var changes) @@ -372,9 +372,9 @@ public void OFPSimpleChildPropertyTest() => new TestScheduler().With(scheduler => { HostTestFixture? fixture = new() - { - Child = new TestFixture() - }; + { + Child = new TestFixture() + }; fixture.ObservableForProperty(x => x.Child!.IsOnlyOneWord) .ToObservableChangeSet(ImmediateScheduler.Instance) .Bind(out var changes) @@ -580,9 +580,9 @@ public void WhenAnySmokeTest() => scheduler => { HostTestFixture? fixture = new() - { - Child = new TestFixture() - }; + { + Child = new TestFixture() + }; fixture.SomeOtherParam = 5; fixture.Child.IsNotNullString = "Foo"; @@ -592,10 +592,10 @@ public void WhenAnySmokeTest() => x => x.SomeOtherParam, x => x.Child!.IsNotNullString, (sop, nns) => new - { - sop, - nns - }).Subscribe( + { + sop, + nns + }).Subscribe( x => { output1.Add(x!.sop); @@ -642,7 +642,7 @@ public void WhenAnyValueShouldWorkEvenWithNormalProperties() var output1 = 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]); @@ -656,9 +656,9 @@ public void WhenAnyValueSmokeTest() => scheduler => { HostTestFixture? fixture = new() - { - Child = new TestFixture() - }; + { + Child = new TestFixture() + }; fixture.SomeOtherParam = 5; fixture.Child.IsNotNullString = "Foo"; @@ -668,10 +668,10 @@ public void WhenAnyValueSmokeTest() => x => x.SomeOtherParam, x => x.Child!.IsNotNullString, (sop, nns) => new - { - sop, - nns - }).Subscribe( + { + sop, + nns + }).Subscribe( x => { output1.Add(x!.sop); @@ -763,5 +763,413 @@ public void WhenAnyValueUnsupportedExpressionType_Constant() Assert.Equal("Unsupported expression of type 'Constant'. Did you miss the member access prefix in the expression?", exception.Message); } + + [Fact] + public void NullableTypesTestShouldntNeedDecorators() + { + WhenAnyTestFixture fixture = new(); + IEnumerable? result = null; + fixture.WhenAnyValue(x => x.AccountService.AccountUsersNullable) + .Where(users => users.Any()) + .Select(users => users.Values.Where(x => !string.IsNullOrWhiteSpace(x?.LastName))) + .Subscribe(dict => result = dict); + + Assert.Equal(result!.Count(), 3); + } + + /// + /// Nullables the types test shouldnt need decorators2. + /// + [Fact] + public void NullableTypesTestShouldntNeedDecorators2() + { + WhenAnyTestFixture fixture = new(); + IEnumerable? result = null; + fixture.WhenAnyValue( + x => x.ProjectService.ProjectsNullable, + x => x.AccountService.AccountUsersNullable) + .Where(tuple => tuple.Item1.Any() && tuple.Item2.Any()) + .Select(tuple => + { + var (projects, users) = tuple; + return users.Values.Where(x => !string.IsNullOrWhiteSpace(x?.LastName)); + }) + .Subscribe(dict => result = dict); + + Assert.Equal(result!.Count(), 3); + } + + /// + /// Nons the nullable types test shouldnt need decorators. + /// + [Fact] + public void NonNullableTypesTestShouldntNeedDecorators() + { + WhenAnyTestFixture fixture = new(); + IEnumerable? result = null; + fixture.WhenAnyValue(x => x.AccountService.AccountUsers) + .Where(users => users.Any()) + .Select(users => users.Values.Where(x => !string.IsNullOrWhiteSpace(x.LastName))) + .Subscribe(dict => result = dict); + + Assert.Equal(result!.Count(), 3); + } + + /// + /// Nons the nullable types test shouldnt need decorators2. + /// + [Fact] + public void NonNullableTypesTestShouldntNeedDecorators2() + { + WhenAnyTestFixture fixture = new(); + IEnumerable? result = null; + fixture.WhenAnyValue( + x => x.ProjectService.Projects, + x => x.AccountService.AccountUsers) + .Where(tuple => tuple.Item1.Any() && tuple.Item2.Any()) + .Select(tuple => + { + var (projects, users) = tuple; + return users.Values.Where(x => !string.IsNullOrWhiteSpace(x?.LastName)); + }) + .Subscribe(dict => result = dict); + + Assert.Equal(result!.Count(), 3); + } + + /// + /// Whens any value with1 paramerters. + /// + [Fact] + public void WhenAnyValueWith1Paramerters() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1) + .Select(value => + { + return value; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "1"); + } + + /// + /// Whens any value with2 paramerters returns tuple. + /// + [Fact] + public void WhenAnyValueWith2ParamertersReturnsTuple() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2) + .Select(tuple => + { + var (value1, value2) = tuple; + return value1 + value2; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "1"); + } + + /// + /// Whens any value with2 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith2ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + (v1, v2) => (v1, v2)) + .Select(tuple => + { + var (value1, value2) = tuple; + return value1 + value2; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "1"); + } + + /// + /// Whens any value with3 paramerters returns tuple. + /// + [Fact] + public void WhenAnyValueWith3ParamertersReturnsTuple() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3) + .Select(tuple => + { + var (value1, value2, value3) = tuple; + return value1 + value2 + value3; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "13"); + } + + /// + /// Whens any value with3 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith3ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + (v1, v2, v3) => (v1, v2, v3)) + .Select(tuple => + { + var (value1, value2, value3) = tuple; + return value1 + value2 + value3; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "13"); + } + + /// + /// Whens any value with4 paramerters returns tuple. + /// + [Fact] + public void WhenAnyValueWith4ParamertersReturnsTuple() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4) + .Select(tuple => + { + var (value1, value2, value3, value4) = tuple; + return value1 + value2 + value3 + value4; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "13"); + } + + /// + /// Whens any value with4 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith4ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + (v1, v2, v3, v4) => (v1, v2, v3, v4)) + .Select(tuple => + { + var (value1, value2, value3, value4) = tuple; + return value1 + value2 + value3 + value4; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "13"); + } + + /// + /// Whens any value with5 paramerters returns tuple. + /// + [Fact] + public void WhenAnyValueWith5ParamertersReturnsTuple() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5) + .Select(tuple => + { + var (value1, value2, value3, value4, value5) = tuple; + return value1 + value2 + value3 + value4 + value5; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "135"); + } + + /// + /// Whens any value with5 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith5ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5, + (v1, v2, v3, v4, v5) => (v1, v2, v3, v4, v5)) + .Select(tuple => + { + var (value1, value2, value3, value4, value5) = tuple; + return value1 + value2 + value3 + value4 + value5; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "135"); + } + + /// + /// Whens any value with6 paramerters returns tuple. + /// + [Fact] + public void WhenAnyValueWith6ParamertersReturnsTuple() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5, + x => x.Value6) + .Select(tuple => + { + var (value1, value2, value3, value4, value5, value6) = tuple; + return value1 + value2 + value3 + value4 + value5 + value6; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "135"); + } + + /// + /// Whens any value with6 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith6ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5, + x => x.Value6, + (v1, v2, v3, v4, v5, v6) => (v1, v2, v3, v4, v5, v6)) + .Select(tuple => + { + var (value1, value2, value3, value4, value5, value6) = tuple; + return value1 + value2 + value3 + value4 + value5 + value6; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "135"); + } + + /// + /// Whens any value with7 paramerters returns tuple. + /// + [Fact] + public void WhenAnyValueWith7ParamertersReturnsTuple() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5, + x => x.Value6, + x => x.Value7) + .Select(tuple => + { + var (value1, value2, value3, value4, value5, value6, value7) = tuple; + return value1 + value2 + value3 + value4 + value5 + value6 + value7; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "1357"); + } + + /// + /// Whens any value with7 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith7ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5, + x => x.Value6, + x => x.Value7, + (v1, v2, v3, v4, v5, v6, v7) => (v1, v2, v3, v4, v5, v6, v7)) + .Select(tuple => + { + var (value1, value2, value3, value4, value5, value6, value7) = tuple; + return value1 + value2 + value3 + value4 + value5 + value6 + value7; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "1357"); + } + + /// + /// Whens any value with8 paramerters returns values. + /// + [Fact] + public void WhenAnyValueWith8ParamertersReturnsValues() + { + WhenAnyTestFixture fixture = new(); + string? result = null; + fixture.WhenAnyValue( + x => x.Value1, + x => x.Value2, + x => x.Value3, + x => x.Value4, + x => x.Value5, + x => x.Value6, + x => x.Value7, + x => x.Value8, + (v1, v2, v3, v4, v5, v6, v7, v8) => (v1, v2, v3, v4, v5, v6, v7, v8)) + .Select(tuple => + { + var (value1, value2, value3, value4, value5, value6, value7, value8) = tuple; + return value1 + value2 + value3 + value4 + value5 + value6 + value7 + value8; + }) + .Subscribe(value => result = value); + + Assert.Equal(result, "1357"); + } } } diff --git a/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs b/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs index 5951831a38..f67a70a43d 100644 --- a/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs +++ b/src/ReactiveUI/Mixins/ReactiveNotifyPropertyChangedMixin.cs @@ -47,7 +47,7 @@ public static class ReactiveNotifyPropertyChangedMixin /// with the initial value. /// An Observable representing the property change /// notifications for the given property. - public static IObservable> ObservableForProperty( + public static IObservable> ObservableForProperty( this TSender? item, Expression> property, bool beforeChange = false, @@ -78,7 +78,7 @@ public static class ReactiveNotifyPropertyChangedMixin * Resubscribe to new Baz, publish to Subject */ - return SubscribeToExpressionChain( + return SubscribeToExpressionChain( item, property.Body, beforeChange, diff --git a/src/ReactiveUI/VariadicTemplates.cs b/src/ReactiveUI/VariadicTemplates.cs index c8f935b63d..907d1dc1a6 100644 --- a/src/ReactiveUI/VariadicTemplates.cs +++ b/src/ReactiveUI/VariadicTemplates.cs @@ -33,11 +33,11 @@ public static class WhenAnyMixin /// /// The object where the property chain starts. /// The first property chain to reference. This will be a expression pointing to a end property or field. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1) { - return sender.WhenAny(property1, (IObservedChange c1) => c1.Value); + return sender.WhenAny(property1, (IObservedChange c1) => c1.Value); } @@ -52,10 +52,10 @@ public static class WhenAnyMixin /// The object where the property chain starts. /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, - Func selector) + Func selector) { return sender.WhenAny(property1, (c1) => @@ -72,10 +72,10 @@ public static class WhenAnyMixin /// The object where the property chain starts. /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, - Func, TRet?> selector) + Func, TRet> selector) { return sender.ObservableForProperty(property1, false, false).Select(selector); } @@ -91,10 +91,10 @@ public static class WhenAnyMixin /// The object where the property chain starts. /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, - Func, TRet?> selector) + Func, TRet> selector) { return ReactiveNotifyPropertyChangedMixin .SubscribeToExpressionChain(sender, property1, false, false).Select(selector); @@ -110,7 +110,7 @@ public static class WhenAnyMixin /// The object where the property chain starts. /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The 2 property chain to reference. This will be a expression pointing to a end property or field. - public static IObservable<(T1?,T2?)> WhenAnyValue( + public static IObservable<(T1,T2)> WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2 @@ -132,11 +132,11 @@ public static class WhenAnyMixin /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, (c1, c2) => @@ -154,11 +154,11 @@ public static class WhenAnyMixin /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, - Func, IObservedChange, TRet?> selector) + Func, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -179,11 +179,11 @@ public static class WhenAnyMixin /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, - Func, IObservedChange, TRet?> selector) + Func, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -205,7 +205,7 @@ public static class WhenAnyMixin /// The 1 property chain to reference. This will be a expression pointing to a end property or field. /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// 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( + public static IObservable<(T1,T2,T3)> WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -229,12 +229,12 @@ public static class WhenAnyMixin /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, Expression> property3, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, (c1, c2, c3) => @@ -253,12 +253,12 @@ public static class WhenAnyMixin /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, Expression> property3, - Func, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -281,12 +281,12 @@ public static class WhenAnyMixin /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, Expression? property3, - Func, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -311,7 +311,7 @@ public static class WhenAnyMixin /// The 2 property chain to reference. This will be a expression pointing to a end property or field. /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// 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( + public static IObservable<(T1,T2,T3,T4)> WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -337,13 +337,13 @@ public static class WhenAnyMixin /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, (c1, c2, c3, c4) => @@ -363,13 +363,13 @@ public static class WhenAnyMixin /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, - Func, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -394,13 +394,13 @@ public static class WhenAnyMixin /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, Expression? property3, Expression? property4, - Func, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -428,7 +428,7 @@ public static class WhenAnyMixin /// The 3 property chain to reference. This will be a expression pointing to a end property or field. /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// 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( + public static IObservable<(T1,T2,T3,T4,T5)> WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -456,14 +456,14 @@ public static class WhenAnyMixin /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, property5, (c1, c2, c3, c4, c5) => @@ -484,14 +484,14 @@ public static class WhenAnyMixin /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, Expression> property3, Expression> property4, Expression> property5, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -518,14 +518,14 @@ public static class WhenAnyMixin /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, Expression? property3, Expression? property4, Expression? property5, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -556,7 +556,7 @@ public static class WhenAnyMixin /// The 4 property chain to reference. This will be a expression pointing to a end property or field. /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// 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( + public static IObservable<(T1,T2,T3,T4,T5,T6)> WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -586,7 +586,7 @@ public static class WhenAnyMixin /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -594,7 +594,7 @@ public static class WhenAnyMixin Expression> property4, Expression> property5, Expression> property6, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, property5, property6, (c1, c2, c3, c4, c5, c6) => @@ -616,7 +616,7 @@ public static class WhenAnyMixin /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -624,7 +624,7 @@ public static class WhenAnyMixin Expression> property4, Expression> property5, Expression> property6, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -653,7 +653,7 @@ public static class WhenAnyMixin /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -661,7 +661,7 @@ public static class WhenAnyMixin Expression? property4, Expression? property5, Expression? property6, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -695,7 +695,7 @@ public static class WhenAnyMixin /// The 5 property chain to reference. This will be a expression pointing to a end property or field. /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// 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( + public static IObservable<(T1,T2,T3,T4,T5,T6,T7)> WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -727,7 +727,7 @@ public static class WhenAnyMixin /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// The 7 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -736,7 +736,7 @@ public static class WhenAnyMixin Expression> property5, Expression> property6, Expression> property7, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, (c1, c2, c3, c4, c5, c6, c7) => @@ -759,7 +759,7 @@ public static class WhenAnyMixin /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// The 7 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -768,7 +768,7 @@ public static class WhenAnyMixin Expression> property5, Expression> property6, Expression> property7, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -799,7 +799,7 @@ public static class WhenAnyMixin /// The 6 property chain to reference. This will be a expression pointing to a end property or field. /// The 7 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -808,7 +808,7 @@ public static class WhenAnyMixin Expression? property5, Expression? property6, Expression? property7, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -847,7 +847,7 @@ public static class WhenAnyMixin /// The 7 property chain to reference. This will be a expression pointing to a end property or field. /// The 8 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -857,7 +857,7 @@ public static class WhenAnyMixin Expression> property6, Expression> property7, Expression> property8, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, (c1, c2, c3, c4, c5, c6, c7, c8) => @@ -881,7 +881,7 @@ public static class WhenAnyMixin /// The 7 property chain to reference. This will be a expression pointing to a end property or field. /// The 8 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -891,7 +891,7 @@ public static class WhenAnyMixin Expression> property6, Expression> property7, Expression> property8, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -924,7 +924,7 @@ public static class WhenAnyMixin /// The 7 property chain to reference. This will be a expression pointing to a end property or field. /// The 8 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -934,7 +934,7 @@ public static class WhenAnyMixin Expression? property6, Expression? property7, Expression? property8, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -976,7 +976,7 @@ public static class WhenAnyMixin /// The 8 property chain to reference. This will be a expression pointing to a end property or field. /// The 9 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -987,7 +987,7 @@ public static class WhenAnyMixin Expression> property7, Expression> property8, Expression> property9, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, (c1, c2, c3, c4, c5, c6, c7, c8, c9) => @@ -1012,7 +1012,7 @@ public static class WhenAnyMixin /// The 8 property chain to reference. This will be a expression pointing to a end property or field. /// The 9 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -1023,7 +1023,7 @@ public static class WhenAnyMixin Expression> property7, Expression> property8, Expression> property9, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -1058,7 +1058,7 @@ public static class WhenAnyMixin /// The 8 property chain to reference. This will be a expression pointing to a end property or field. /// The 9 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -1069,7 +1069,7 @@ public static class WhenAnyMixin Expression? property7, Expression? property8, Expression? property9, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -1114,7 +1114,7 @@ public static class WhenAnyMixin /// The 9 property chain to reference. This will be a expression pointing to a end property or field. /// The 10 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -1126,7 +1126,7 @@ public static class WhenAnyMixin Expression> property8, Expression> property9, Expression> property10, - Func selector) + Func selector) { return sender.WhenAny(property1, property2, property3, property4, property5, property6, property7, property8, property9, property10, (c1, c2, c3, c4, c5, c6, c7, c8, c9, c10) => @@ -1152,7 +1152,7 @@ public static class WhenAnyMixin /// The 9 property chain to reference. This will be a expression pointing to a end property or field. /// The 10 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -1164,7 +1164,7 @@ public static class WhenAnyMixin Expression> property8, Expression> property9, Expression> property10, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -1201,7 +1201,7 @@ public static class WhenAnyMixin /// The 9 property chain to reference. This will be a expression pointing to a end property or field. /// The 10 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -1213,7 +1213,7 @@ public static class WhenAnyMixin Expression? property8, Expression? property9, Expression? property10, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -1261,7 +1261,7 @@ public static class WhenAnyMixin /// The 10 property chain to reference. This will be a expression pointing to a end property or field. /// The 11 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -1274,7 +1274,7 @@ public static class WhenAnyMixin Expression> property9, Expression> property10, Expression> property11, - Func selector) + Func selector) { 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) => @@ -1301,7 +1301,7 @@ public static class WhenAnyMixin /// The 10 property chain to reference. This will be a expression pointing to a end property or field. /// The 11 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -1314,7 +1314,7 @@ public static class WhenAnyMixin Expression> property9, Expression> property10, Expression> property11, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -1353,7 +1353,7 @@ public static class WhenAnyMixin /// The 10 property chain to reference. This will be a expression pointing to a end property or field. /// The 11 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -1366,7 +1366,7 @@ public static class WhenAnyMixin Expression? property9, Expression? property10, Expression? property11, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -1417,7 +1417,7 @@ public static class WhenAnyMixin /// The 11 property chain to reference. This will be a expression pointing to a end property or field. /// The 12 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, Expression> property1, Expression> property2, @@ -1431,7 +1431,7 @@ public static class WhenAnyMixin Expression> property10, Expression> property11, Expression> property12, - Func selector) + Func selector) { 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) => @@ -1459,7 +1459,7 @@ public static class WhenAnyMixin /// The 11 property chain to reference. This will be a expression pointing to a end property or field. /// The 12 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAny( + public static IObservable WhenAny( this TSender? sender, Expression> property1, Expression> property2, @@ -1473,7 +1473,7 @@ public static class WhenAnyMixin Expression> property10, Expression> property11, Expression> property12, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( sender.ObservableForProperty(property1, false, false), @@ -1514,7 +1514,7 @@ public static class WhenAnyMixin /// The 11 property chain to reference. This will be a expression pointing to a end property or field. /// The 12 property chain to reference. This will be a expression pointing to a end property or field. /// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, Expression? property1, Expression? property2, @@ -1528,7 +1528,7 @@ public static class WhenAnyMixin Expression? property10, Expression? property11, Expression? property12, - Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet?> selector) + Func, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, IObservedChange, TRet> selector) { return Observable.CombineLatest( ReactiveNotifyPropertyChangedMixin @@ -1566,32 +1566,32 @@ 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// 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. /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1599,11 +1599,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1612,11 +1612,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1626,11 +1626,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1641,11 +1641,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1657,11 +1657,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1674,11 +1674,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1692,11 +1692,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1711,11 +1711,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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. /// The object where the property chain starts. @@ -1731,11 +1731,11 @@ public static class WhenAnyObservableMixin /// 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()}) - .Select(x => x?.Merge())!.Switch(); + 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(); } /// Monitor a property that is an observable, and subscribe to the most recent emitted value. @@ -1743,13 +1743,13 @@ public static class WhenAnyObservableMixin /// 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) + 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 class WhenAnyObservableMixin /// 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) + 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,15 +1775,15 @@ public static class WhenAnyObservableMixin /// 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, Expression?>> obs4, - Func selector) + 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,16 +1794,16 @@ public static class WhenAnyObservableMixin /// 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, Expression?>> obs4, Expression?>> obs5, - Func selector) + 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,17 +1815,17 @@ public static class WhenAnyObservableMixin /// 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, Expression?>> obs4, Expression?>> obs5, Expression?>> obs6, - Func selector) + Func 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 class WhenAnyObservableMixin /// The 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, @@ -1846,10 +1846,10 @@ public static class WhenAnyObservableMixin Expression?>> obs5, Expression?>> obs6, Expression?>> obs7, - Func selector) + Func 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 class WhenAnyObservableMixin /// The 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, @@ -1872,10 +1872,10 @@ public static class WhenAnyObservableMixin Expression?>> obs6, Expression?>> obs7, Expression?>> obs8, - Func selector) + Func 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 class WhenAnyObservableMixin /// The 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, @@ -1900,10 +1900,10 @@ public static class WhenAnyObservableMixin Expression?>> obs7, Expression?>> obs8, Expression?>> obs9, - Func selector) + Func 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 class WhenAnyObservableMixin /// The 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, @@ -1930,10 +1930,10 @@ public static class WhenAnyObservableMixin Expression?>> obs8, Expression?>> obs9, Expression?>> obs10, - Func selector) + Func 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 class WhenAnyObservableMixin /// The 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, @@ -1962,10 +1962,10 @@ public static class WhenAnyObservableMixin Expression?>> obs9, Expression?>> obs10, Expression?>> obs11, - Func selector) + Func 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 class WhenAnyObservableMixin /// The 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, @@ -1996,10 +1996,10 @@ public static class WhenAnyObservableMixin Expression?>> obs10, Expression?>> obs11, Expression?>> obs12, - Func selector) + Func 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 57c87ab51d..670e9c7957 100644 --- a/src/ReactiveUI/VariadicTemplates.tt +++ b/src/ReactiveUI/VariadicTemplates.tt @@ -44,15 +44,15 @@ namespace ReactiveUI /// /// The object where the property chain starts. /// The first property chain to reference. This will be a expression pointing to a end property or field. - public static IObservable WhenAnyValue( + public static IObservable WhenAnyValue( this TSender? sender, 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++) { #> - <# var templParams = Enumerable.Range(1, length).Select(x => "T" + x.ToString() + "?"); #> + <# var templParams = Enumerable.Range(1, length).Select(x => "T" + x.ToString()); #> <# var templParamsDec = Enumerable.Range(1, length).Select(x => "T" + x.ToString()); #> <# string selectorTypeParams = String.Join(", ", templParams.Select(x => String.Format("IObservedChange", x))); #> <# string valuePropertyParams = String.Join(", ", Enumerable.Range(1, length).Select(x => String.Format("property{0}", x))); #> @@ -95,7 +95,7 @@ namespace ReactiveUI <# for(int i=1; i <= length; i++) { #> /// The <#=i#> property chain to reference. This will be a expression pointing to a end property or field. <# } #>/// The selector which will determine the final value from the properties. - public static IObservable WhenAnyValue>( + public static IObservable WhenAnyValue>( this TSender? sender, <# for(int i=1; i <= length; i++) { #> Expression?>> property<#=i#>, @@ -118,12 +118,12 @@ namespace ReactiveUI <# for(int i=1; i <= length; i++) { #> /// The <#=i#> property chain to reference. This will be a expression pointing to a end property or field. <# } #>/// The selector which will determine the final value from the properties. - public static IObservable WhenAny>( + public static IObservable WhenAny>( this TSender? sender, <# for(int i=1; i <= length; i++) { #> Expression?>> property<#=i#>, <# } #> - Func<<#= selectorTypeParams #>, TRet?> selector) + Func<<#= selectorTypeParams #>, TRet> selector) { <# if (length == 1){ #> return sender.ObservableForProperty(property<#=1#>, false, false).Select(selector); @@ -149,12 +149,12 @@ namespace ReactiveUI <# for(int i=1; i <= length; i++) { #> /// The <#=i#> property chain to reference. This will be a expression pointing to a end property or field. <# } #>/// The selector which will determine the final value from the properties. - public static IObservable WhenAnyDynamic( + public static IObservable WhenAnyDynamic( this TSender? sender, <# for(int i=1; i <= length; i++) { #> Expression? property<#=i#>, <# } #> - Func<<#= dynamicSelectorTypeParams #>, TRet?> selector) + Func<<#= dynamicSelectorTypeParams #>, TRet> selector) { <# if (length == 1){ #> return ReactiveNotifyPropertyChangedMixin @@ -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,12 +192,12 @@ 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 #>}) - .Select(x => x?.Merge())!.Switch(); + .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) + 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(); } <# } #> From b2e9db96b9c70a426d178027b047b9b7f1a2efa7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 28 Jun 2021 08:01:56 +0100 Subject: [PATCH 2/2] build(deps): bump Nerdbank.GitVersioning from 3.4.216 to 3.4.220 in /src (#2810) Bumps [Nerdbank.GitVersioning](https://github.com/dotnet/Nerdbank.GitVersioning) from 3.4.216 to 3.4.220. - [Release notes](https://github.com/dotnet/Nerdbank.GitVersioning/releases) - [Commits](https://github.com/dotnet/Nerdbank.GitVersioning/compare/v3.4.216...v3.4.220) --- updated-dependencies: - dependency-name: Nerdbank.GitVersioning dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- src/Directory.build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Directory.build.props b/src/Directory.build.props index e22234fc44..3cadcab715 100644 --- a/src/Directory.build.props +++ b/src/Directory.build.props @@ -59,7 +59,7 @@ - +