From 8d1608b10aa8b70f835a348868b3fef7a9eeb932 Mon Sep 17 00:00:00 2001
From: Glenn Watson <5834289+glennawatson@users.noreply.github.com>
Date: Sun, 4 Oct 2026 18:40:08 +1100
Subject: [PATCH 1/3] feat: add .NET 11 support
- Add .NET 11 targets and API baselines.
- Keep framework package versions in Choose blocks.
- Align Renovate rules and CI settings.
---
.github/renovate.json | 43 ++-
.github/workflows/ci-build.yml | 1 +
src/Directory.Build.props | 10 +-
src/Directory.Packages.props | 14 +-
.../PublicAPI.txt | 0
.../PublicAPI/net11.0-android37/PublicAPI.txt | 13 +
.../PublicAPI.txt | 0
.../PublicAPI/net11.0-android37/PublicAPI.txt | 13 +
.../PublicAPI.txt | 0
.../PublicAPI/net11.0-android37/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0-ios/PublicAPI.txt | 361 ++++++++++++++++++
.../net11.0-maccatalyst/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0-macos/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0-tvos/PublicAPI.txt | 361 ++++++++++++++++++
.../net11.0-windows10.0.19041.0/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0/PublicAPI.txt | 360 +++++++++++++++++
.../PublicAPI.txt | 0
.../PublicAPI/net11.0-android37/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0-ios/PublicAPI.txt | 361 ++++++++++++++++++
.../net11.0-maccatalyst/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0-macos/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0-tvos/PublicAPI.txt | 361 ++++++++++++++++++
.../net11.0-windows10.0.19041.0/PublicAPI.txt | 361 ++++++++++++++++++
.../PublicAPI/net11.0/PublicAPI.txt | 360 +++++++++++++++++
src/global.json | 3 +
25 files changed, 5139 insertions(+), 10 deletions(-)
rename src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/{net10.0-android => net10.0-android36.0}/PublicAPI.txt (100%)
create mode 100644 src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt
rename src/ReactiveUI.Validation.AndroidX/PublicAPI/{net10.0-android => net10.0-android36.0}/PublicAPI.txt (100%)
create mode 100644 src/ReactiveUI.Validation.AndroidX/PublicAPI/net11.0-android37/PublicAPI.txt
rename src/ReactiveUI.Validation.Reactive/PublicAPI/{net10.0-android => net10.0-android36.0}/PublicAPI.txt (100%)
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-maccatalyst/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-macos/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-tvos/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-windows10.0.19041.0/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0/PublicAPI.txt
rename src/ReactiveUI.Validation/PublicAPI/{net10.0-android => net10.0-android36.0}/PublicAPI.txt (100%)
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0-android37/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0-ios/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0-maccatalyst/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0-macos/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0-tvos/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0-windows10.0.19041.0/PublicAPI.txt
create mode 100644 src/ReactiveUI.Validation/PublicAPI/net11.0/PublicAPI.txt
diff --git a/.github/renovate.json b/.github/renovate.json
index 1f7f88d0..31be23de 100644
--- a/.github/renovate.json
+++ b/.github/renovate.json
@@ -1,11 +1,11 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
- "local>reactiveui/.github:renovate"
+ "local\u003Ereactiveui/.github:renovate"
],
"packageRules": [
{
- "description": "Analyzer packages all gate the build through the same warnings-as-errors pass, so landing them separately just means several red CI runs in a row. Move them in one PR.",
+ "description": "Update the analyzers together.",
"matchManagers": [
"nuget"
],
@@ -15,7 +15,7 @@
]
},
{
- "description": "Packaging, versioning and symbol tooling. These affect how the package is produced, never the shipped API, so they are safe to move as one.",
+ "description": "Update packaging tools together.",
"matchManagers": [
"nuget"
],
@@ -26,7 +26,7 @@
]
},
{
- "description": "MessageBox.Avalonia is part of the Avalonia sample stack but does not carry the Avalonia prefix the shared preset matches on.",
+ "description": "Include MessageBox.Avalonia in the Avalonia group.",
"matchManagers": [
"nuget"
],
@@ -35,6 +35,41 @@
"/^Avalonia(\\.|$)/",
"/^MessageBox\\.Avalonia$/"
]
+ },
+ {
+ "description": "Keep runtime packages in their target framework\u0027s major version.",
+ "matchManagers": [
+ "nuget"
+ ],
+ "matchPackageNames": [
+ "System.Collections.Immutable"
+ ],
+ "matchUpdateTypes": [
+ "major"
+ ],
+ "enabled": false
+ },
+ {
+ "description": "Allow .NET 11 preview updates within the .NET 11 band.",
+ "matchManagers": [
+ "nuget"
+ ],
+ "matchPackageNames": [
+ "System.Collections.Immutable"
+ ],
+ "matchCurrentVersion": "/^11\\./",
+ "allowedVersions": "/^11\\./",
+ "ignoreUnstable": false
+ },
+ {
+ "description": "Keep the coverage package pinned until its regression is resolved.",
+ "matchManagers": [
+ "nuget"
+ ],
+ "matchPackageNames": [
+ "Microsoft.Testing.Extensions.CodeCoverage"
+ ],
+ "enabled": false
}
]
}
diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
index f38cc8b3..c8b774b3 100644
--- a/.github/workflows/ci-build.yml
+++ b/.github/workflows/ci-build.yml
@@ -14,6 +14,7 @@ jobs:
build:
uses: reactiveui/actions-common/.github/workflows/workflow-common-setup-and-build.yml@main
with:
+ configuration: Release
productNamespacePrefix: "ReactiveUI.Validation"
installWorkloads: true
secrets:
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 5c331dc6..207ce780 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -46,13 +46,13 @@
- net8.0;net9.0;net10.0
- net8.0-windows10.0.19041.0;net9.0-windows10.0.19041.0;net10.0-windows10.0.19041.0
+ net8.0;net9.0;net10.0;net11.0
+ net8.0-windows10.0.19041.0;net9.0-windows10.0.19041.0;net10.0-windows10.0.19041.0;net11.0-windows10.0.19041.0
- net10.0-android
- net10.0-ios;net10.0-tvos;net10.0-macos;net10.0-maccatalyst
+ net10.0-android36.0;net11.0-android37
+ net10.0-ios;net10.0-tvos;net10.0-macos;net10.0-maccatalyst;net11.0-ios;net11.0-tvos;net11.0-macos;net11.0-maccatalyst
net462;net472;net481
- net8.0;net9.0;net10.0
+ net8.0;net9.0;net10.0;net11.0
diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props
index cb54adee..573da99c 100644
--- a/src/Directory.Packages.props
+++ b/src/Directory.Packages.props
@@ -17,7 +17,6 @@
-
@@ -28,6 +27,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net10.0-android36.0/PublicAPI.txt
similarity index 100%
rename from src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net10.0-android/PublicAPI.txt
rename to src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net10.0-android36.0/PublicAPI.txt
diff --git a/src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt b/src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt
new file mode 100644
index 00000000..3e0fa2ee
--- /dev/null
+++ b/src/ReactiveUI.Validation.AndroidX.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt
@@ -0,0 +1,13 @@
+[assembly: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
+[assembly: System.Runtime.Versioning.SupportedOSPlatform("Android24.0")]
+namespace ReactiveUI.Validation.Reactive.Extensions;
+
+public static class ViewForExtensions
+{
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelHelperProperty, Google.Android.Material.TextField.TextInputLayout viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelHelperProperty, Google.Android.Material.TextField.TextInputLayout viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelProperty, Google.Android.Material.TextField.TextInputLayout viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelProperty, Google.Android.Material.TextField.TextInputLayout viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+}
diff --git a/src/ReactiveUI.Validation.AndroidX/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Validation.AndroidX/PublicAPI/net10.0-android36.0/PublicAPI.txt
similarity index 100%
rename from src/ReactiveUI.Validation.AndroidX/PublicAPI/net10.0-android/PublicAPI.txt
rename to src/ReactiveUI.Validation.AndroidX/PublicAPI/net10.0-android36.0/PublicAPI.txt
diff --git a/src/ReactiveUI.Validation.AndroidX/PublicAPI/net11.0-android37/PublicAPI.txt b/src/ReactiveUI.Validation.AndroidX/PublicAPI/net11.0-android37/PublicAPI.txt
new file mode 100644
index 00000000..bb558452
--- /dev/null
+++ b/src/ReactiveUI.Validation.AndroidX/PublicAPI/net11.0-android37/PublicAPI.txt
@@ -0,0 +1,13 @@
+[assembly: System.Runtime.Versioning.SupportedOSPlatform("Android24.0")]
+namespace ReactiveUI.Validation.Extensions
+{
+ public static class ViewForExtensions
+ {
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelHelperProperty, Google.Android.Material.TextField.TextInputLayout viewProperty) where TView : ReactiveUI.Binding.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Abstractions.IValidatableViewModel { }
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelHelperProperty, Google.Android.Material.TextField.TextInputLayout viewProperty, ReactiveUI.Validation.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Abstractions.IValidatableViewModel { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelProperty, Google.Android.Material.TextField.TextInputLayout viewProperty) where TView : ReactiveUI.Binding.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Abstractions.IValidatableViewModel { }
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelProperty, Google.Android.Material.TextField.TextInputLayout viewProperty, ReactiveUI.Validation.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Abstractions.IValidatableViewModel { }
+ }
+}
diff --git a/src/ReactiveUI.Validation.Reactive/PublicAPI/net10.0-android/PublicAPI.txt b/src/ReactiveUI.Validation.Reactive/PublicAPI/net10.0-android36.0/PublicAPI.txt
similarity index 100%
rename from src/ReactiveUI.Validation.Reactive/PublicAPI/net10.0-android/PublicAPI.txt
rename to src/ReactiveUI.Validation.Reactive/PublicAPI/net10.0-android36.0/PublicAPI.txt
diff --git a/src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt b/src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt
new file mode 100644
index 00000000..a16fca80
--- /dev/null
+++ b/src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-android37/PublicAPI.txt
@@ -0,0 +1,361 @@
+[assembly: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("ReactiveUI.Validation.Reactive.Tests")]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.CompilerServices.CallerArgumentExpressionAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.CompilerServices.IsExternalInit))]
+[assembly: System.Runtime.Versioning.SupportedOSPlatform("Android24.0")]
+namespace ReactiveUI.Validation.Reactive.Abstractions
+{
+ public interface IValidatableViewModel
+ {
+ ReactiveUI.Validation.Reactive.Contexts.IValidationContext ValidationContext { get; }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Collections
+{
+ public interface IValidationText : System.Collections.Generic.IReadOnlyList
+ {
+ string ToSingleLine(string? separator = ",") { }
+ }
+ public static class ValidationText
+ {
+ public static readonly ReactiveUI.Validation.Reactive.Collections.IValidationText Empty;
+ public static readonly ReactiveUI.Validation.Reactive.Collections.IValidationText None;
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(System.Collections.Generic.IEnumerable? validationTexts) { }
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(System.Collections.Generic.IEnumerable? validationTexts) { }
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(string? validationText) { }
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(params string?[]? validationTexts) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Comparators
+{
+ public class ValidationStateComparer : System.Collections.Generic.EqualityComparer
+ {
+ public ValidationStateComparer() { }
+ public override bool Equals(ReactiveUI.Validation.Reactive.States.IValidationState? x, ReactiveUI.Validation.Reactive.States.IValidationState? y) { }
+ public override int GetHashCode(ReactiveUI.Validation.Reactive.States.IValidationState obj) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Components
+{
+ [System.Diagnostics.DebuggerDisplay("BasePropertyValidation: {PropertyCount}")]
+ public abstract class BasePropertyValidation : ReactiveUI.Reactive.ReactiveObject, ReactiveUI.Validation.Reactive.Components.Abstractions.IPropertyValidationComponent, System.IDisposable
+ {
+ protected BasePropertyValidation() { }
+ public bool IsValid { get; }
+ public System.Collections.Generic.IEnumerable Properties { get; }
+ public int PropertyCount { get; }
+ public ReactiveUI.Validation.Reactive.Collections.IValidationText? Text { get; }
+ public System.IObservable ValidationStatusChange { get; }
+ protected void AddProperty(System.Linq.Expressions.Expression> property) { }
+ public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
+ public void Dispose() { }
+ protected virtual void Dispose(bool disposing) { }
+ protected abstract System.IObservable GetValidationChangeObservable() { }
+ }
+ [System.Diagnostics.DebuggerDisplay("BasePropertyValidation: {_valueSubject}")]
+ public sealed class BasePropertyValidation : ReactiveUI.Validation.Reactive.Components.BasePropertyValidation where TViewModel : class
+ {
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public BasePropertyValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Func isValidFunc, System.Func messageFunc) { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public BasePropertyValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Func isValidFunc, System.Func message) { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public BasePropertyValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Func isValidFunc, string message) { }
+ protected override void Dispose(bool disposing) { }
+ protected override System.IObservable GetValidationChangeObservable() { }
+ }
+ public sealed class ObservableValidation : ReactiveUI.Validation.Reactive.Components.ObservableValidationBase
+ {
+ public ObservableValidation(System.IObservable observable) { }
+ public ObservableValidation(TViewModel viewModel, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public ObservableValidation(TViewModel viewModel, System.IObservable observable, System.Func isValidFunc, string message) { }
+ public ObservableValidation(TViewModel viewModel, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public ObservableValidation(TViewModel viewModel, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public ObservableValidation(TViewModel viewModel, System.IObservable observable, System.Func isValidFunc, string message) { }
+ }
+ public sealed class ObservableValidation : ReactiveUI.Validation.Reactive.Components.ObservableValidationBase
+ {
+ public ObservableValidation(System.Linq.Expressions.Expression> viewModelProperty, System.IObservable observable) { }
+ public ObservableValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public ObservableValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.IObservable observable, System.Func isValidFunc, string message) { }
+ public ObservableValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public ObservableValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public ObservableValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.IObservable observable, System.Func isValidFunc, string message) { }
+ }
+ [System.Diagnostics.DebuggerDisplay("ObservableValidationBase: {PropertyCount}")]
+ public class ObservableValidationBase : ReactiveUI.Reactive.ReactiveObject, ReactiveUI.Validation.Reactive.Components.Abstractions.IPropertyValidationComponent, System.IDisposable
+ {
+ protected ObservableValidationBase(System.IObservable observable) { }
+ protected ObservableValidationBase(TViewModel viewModel, System.IObservable observable, System.Func isValidFunc, System.Func messageFunc) { }
+ public bool IsValid { get; }
+ public System.Collections.Generic.IEnumerable Properties { get; }
+ public int PropertyCount { get; }
+ public ReactiveUI.Validation.Reactive.Collections.IValidationText? Text { get; }
+ public System.IObservable ValidationStatusChange { get; }
+ protected void AddProperty(System.Linq.Expressions.Expression> property) { }
+ public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
+ public void Dispose() { }
+ protected virtual void Dispose(bool disposing) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Components.Abstractions
+{
+ public interface IPropertyValidationComponent : ReactiveUI.Validation.Reactive.Components.Abstractions.IValidatesProperties, ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent
+ {
+ }
+ public interface IValidatesProperties
+ {
+ System.Collections.Generic.IEnumerable Properties { get; }
+ int PropertyCount { get; }
+ bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
+ }
+ public interface IValidationComponent
+ {
+ bool IsValid { get; }
+ ReactiveUI.Validation.Reactive.Collections.IValidationText? Text { get; }
+ System.IObservable ValidationStatusChange { get; }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Contexts
+{
+ public interface IValidationContext : ReactiveUI.IReactiveObject, ReactiveUI.Primitives.Disposables.IsDisposed, ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent
+ {
+ System.IObservable Valid { get; }
+ DynamicData.IObservableList Validations { get; }
+ void Add(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent validation) { }
+ bool GetIsValid() { }
+ void Remove(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent validation) { }
+ void RemoveMany(System.Collections.Generic.IEnumerable validations) { }
+ }
+ [System.Diagnostics.DebuggerDisplay("ValidationContext: {Valid}")]
+ public class ValidationContext : ReactiveUI.Reactive.ReactiveObject, ReactiveUI.Validation.Reactive.Contexts.IValidationContext
+ {
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ValidationContext() { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ValidationContext(System.Reactive.Concurrency.IScheduler? scheduler) { }
+ public bool IsDisposed { get; }
+ public bool IsValid { get; }
+ public ReactiveUI.Validation.Reactive.Collections.IValidationText Text { get; }
+ public System.IObservable Valid { get; }
+ public System.IObservable ValidationStatusChange { get; }
+ public DynamicData.IObservableList Validations { get; }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void Add(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent validation) { }
+ public void Dispose() { }
+ protected virtual void Dispose(bool disposing) { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public bool GetIsValid() { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void Remove(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent validation) { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void RemoveMany(System.Collections.Generic.IEnumerable validations) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Extensions
+{
+ public static class ValidatableViewModelExtensions
+ {
+ extension(TViewModel viewModel) where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel
+ {
+ public void ClearValidationRules() { }
+ public void ClearValidationRules(System.Linq.Expressions.Expression> viewModelProperty) { }
+ public System.IObservable IsValid() { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.IObservable validationObservable) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.IObservable validationObservable, string message) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.IObservable validationObservable) where TValue : ReactiveUI.Validation.Reactive.States.IValidationState { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.Linq.Expressions.Expression> viewModelProperty, System.IObservable validationObservable) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.IObservable validationObservable, System.Func isValidFunc, System.Func messageFunc) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.Linq.Expressions.Expression> viewModelProperty, System.IObservable viewModelObservable, string message) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.Linq.Expressions.Expression> viewModelProperty, System.Func isPropertyValid, System.Func message) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.Linq.Expressions.Expression> viewModelProperty, System.Func isPropertyValid, string message) { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.Linq.Expressions.Expression> viewModelProperty, System.IObservable validationObservable) where TValue : ReactiveUI.Validation.Reactive.States.IValidationState { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ReactiveUI.Validation.Reactive.Helpers.ValidationHelper ValidationRule(System.Linq.Expressions.Expression> viewModelProperty, System.IObservable viewModelObservable, System.Func isValidFunc, System.Func messageFunc) { }
+ }
+ }
+ public static class ValidatesPropertiesExtensions
+ {
+ extension(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidatesProperties validatesProperties)
+ {
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public bool ContainsProperty(System.Linq.Expressions.Expression> propertyExpression) { }
+ public bool ContainsProperty(System.Linq.Expressions.Expression> propertyExpression, bool exclusively) { }
+ }
+ }
+ public static class ValidationContextExtensions
+ {
+ extension(ReactiveUI.Validation.Reactive.Contexts.IValidationContext context)
+ {
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public System.IObservable> ObserveFor(System.Linq.Expressions.Expression> viewModelProperty) { }
+ public System.IObservable> ObserveFor(System.Linq.Expressions.Expression> viewModelProperty, bool strict) { }
+ }
+ }
+ public static class ViewForExtensions
+ {
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelHelperProperty, System.Linq.Expressions.Expression> viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelHelperProperty, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Linq.Expressions.Expression> viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static System.IDisposable BindValidation(this TView view, TViewModel? viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Formatters
+{
+ public class SingleLineFormatter : ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter
+ {
+ public SingleLineFormatter(string? separator = null) { }
+ public static ReactiveUI.Validation.Reactive.Formatters.SingleLineFormatter Default { get; }
+ public string Format(ReactiveUI.Validation.Reactive.Collections.IValidationText? validationText) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Formatters.Abstractions
+{
+ public interface IValidationTextFormatter
+ {
+ TOut Format(ReactiveUI.Validation.Reactive.Collections.IValidationText validationText) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Helpers
+{
+ [System.Diagnostics.DebuggerDisplay("ReactiveValidationObject: {HasErrors}")]
+ public class ReactiveValidationObject : ReactiveUI.Reactive.ReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel, System.ComponentModel.INotifyDataErrorInfo, System.IDisposable
+ {
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ protected ReactiveValidationObject() { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ protected ReactiveValidationObject(System.Reactive.Concurrency.IScheduler? scheduler) { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ protected ReactiveValidationObject(System.Reactive.Concurrency.IScheduler? scheduler, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) { }
+ public bool HasErrors { get; }
+ public ReactiveUI.Validation.Reactive.Contexts.IValidationContext ValidationContext { get; }
+ public event System.EventHandler? ErrorsChanged;
+ public void Dispose() { }
+ protected virtual void Dispose(bool disposing) { }
+ public virtual System.Collections.IEnumerable GetErrors(string? propertyName) { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ protected void RaiseErrorsChanged() { }
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ protected void RaiseErrorsChanged(string propertyName) { }
+ }
+ [System.Diagnostics.DebuggerDisplay("ValidationHelper: {IsValid}")]
+ public sealed class ValidationHelper : ReactiveUI.Reactive.ReactiveObject, System.IDisposable
+ {
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ValidationHelper(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent validation) { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public ValidationHelper(ReactiveUI.Validation.Reactive.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup) { }
+ public bool IsValid { get; }
+ public ReactiveUI.Validation.Reactive.Collections.IValidationText Message { get; }
+ public System.IObservable ValidationChanged { get; }
+ public void Dispose() { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.States
+{
+ public interface IValidationState
+ {
+ bool IsValid { get; }
+ ReactiveUI.Validation.Reactive.Collections.IValidationText Text { get; }
+ }
+ [System.Diagnostics.DebuggerDisplay("ValidationState: {Text}")]
+ public record ValidationState : ReactiveUI.Validation.Reactive.States.IValidationState, System.IEquatable
+ {
+ public ValidationState(bool IsValid, ReactiveUI.Validation.Reactive.Collections.IValidationText Text) { }
+ public ValidationState(bool isValid, string text) { }
+ public static readonly ReactiveUI.Validation.Reactive.States.IValidationState Valid;
+ public bool IsValid { get; init; }
+ public ReactiveUI.Validation.Reactive.Collections.IValidationText Text { get; }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.ValidationBindings
+{
+ [System.Diagnostics.DebuggerDisplay("ValidationBinding: {_disposable}")]
+ public sealed class ValidationBinding : ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding
+ {
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public void Dispose() { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForProperty(TView view, System.Linq.Expressions.Expression> viewModelProperty, System.Linq.Expressions.Expression> viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForProperty(TView view, System.Linq.Expressions.Expression> viewModelProperty, System.Action, System.Collections.Generic.IList> action, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForProperty(TView view, System.Linq.Expressions.Expression> viewModelProperty, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForProperty(TView view, System.Linq.Expressions.Expression> viewModelProperty, System.Action, System.Collections.Generic.IList> action, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter formatter, bool strict) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForProperty(TView view, System.Linq.Expressions.Expression> viewModelProperty, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter, bool strict) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForValidationHelperProperty(TView view, System.Linq.Expressions.Expression> viewModelHelperProperty, System.Linq.Expressions.Expression> viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForValidationHelperProperty(TView view, System.Linq.Expressions.Expression> viewModelHelperProperty, System.Action action, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForValidationHelperProperty(TView view, System.Linq.Expressions.Expression> viewModelHelperProperty, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForViewModel(TView view, System.Linq.Expressions.Expression> viewProperty) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForViewModel(TView view, System.Action action, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("WhenAnyValue uses expression trees which require dynamic code generation in AOT scenarios.")]
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public static ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions.IValidationBinding ForViewModel(TView view, System.Linq.Expressions.Expression> viewProperty, ReactiveUI.Validation.Reactive.Formatters.Abstractions.IValidationTextFormatter? formatter) where TView : ReactiveUI.Binding.Reactive.IViewFor where TViewModel : class, ReactiveUI.IReactiveObject, ReactiveUI.Validation.Reactive.Abstractions.IValidatableViewModel { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.ValidationBindings.Abstractions
+{
+ public interface IValidationBinding : System.IDisposable
+ {
+ }
+}
diff --git a/src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt b/src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt
new file mode 100644
index 00000000..07bed2d5
--- /dev/null
+++ b/src/ReactiveUI.Validation.Reactive/PublicAPI/net11.0-ios/PublicAPI.txt
@@ -0,0 +1,361 @@
+[assembly: System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]
+[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("ReactiveUI.Validation.Reactive.Tests")]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.CompilerServices.CallerArgumentExpressionAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Runtime.CompilerServices.IsExternalInit))]
+[assembly: System.Runtime.Versioning.SupportedOSPlatform("iOS26.0")]
+namespace ReactiveUI.Validation.Reactive.Abstractions
+{
+ public interface IValidatableViewModel
+ {
+ ReactiveUI.Validation.Reactive.Contexts.IValidationContext ValidationContext { get; }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Collections
+{
+ public interface IValidationText : System.Collections.Generic.IReadOnlyList
+ {
+ string ToSingleLine(string? separator = ",") { }
+ }
+ public static class ValidationText
+ {
+ public static readonly ReactiveUI.Validation.Reactive.Collections.IValidationText Empty;
+ public static readonly ReactiveUI.Validation.Reactive.Collections.IValidationText None;
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(System.Collections.Generic.IEnumerable? validationTexts) { }
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(System.Collections.Generic.IEnumerable? validationTexts) { }
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(string? validationText) { }
+ public static ReactiveUI.Validation.Reactive.Collections.IValidationText Create(params string?[]? validationTexts) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Comparators
+{
+ public class ValidationStateComparer : System.Collections.Generic.EqualityComparer
+ {
+ public ValidationStateComparer() { }
+ public override bool Equals(ReactiveUI.Validation.Reactive.States.IValidationState? x, ReactiveUI.Validation.Reactive.States.IValidationState? y) { }
+ public override int GetHashCode(ReactiveUI.Validation.Reactive.States.IValidationState obj) { }
+ }
+}
+namespace ReactiveUI.Validation.Reactive.Components
+{
+ [System.Diagnostics.DebuggerDisplay("BasePropertyValidation: {PropertyCount}")]
+ public abstract class BasePropertyValidation : ReactiveUI.Reactive.ReactiveObject, ReactiveUI.Validation.Reactive.Components.Abstractions.IPropertyValidationComponent, System.IDisposable
+ {
+ protected BasePropertyValidation() { }
+ public bool IsValid { get; }
+ public System.Collections.Generic.IEnumerable Properties { get; }
+ public int PropertyCount { get; }
+ public ReactiveUI.Validation.Reactive.Collections.IValidationText? Text { get; }
+ public System.IObservable ValidationStatusChange { get; }
+ protected void AddProperty(System.Linq.Expressions.Expression> property) { }
+ public bool ContainsPropertyName(string propertyName, bool exclusively = false) { }
+ public void Dispose() { }
+ protected virtual void Dispose(bool disposing) { }
+ protected abstract System.IObservable GetValidationChangeObservable() { }
+ }
+ [System.Diagnostics.DebuggerDisplay("BasePropertyValidation: {_valueSubject}")]
+ public sealed class BasePropertyValidation : ReactiveUI.Validation.Reactive.Components.BasePropertyValidation where TViewModel : class
+ {
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public BasePropertyValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Func isValidFunc, System.Func messageFunc) { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public BasePropertyValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Func isValidFunc, System.Func message) { }
+ [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("WhenAnyValue may reference members that could be trimmed in AOT scenarios.")]
+ public BasePropertyValidation(TViewModel viewModel, System.Linq.Expressions.Expression> viewModelProperty, System.Func isValidFunc, string message) { }
+ protected override void Dispose(bool disposing) { }
+ protected override System.IObservable GetValidationChangeObservable() { }
+ }
+ public sealed class ObservableValidation : ReactiveUI.Validation.Reactive.Components.ObservableValidationBase