Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 66d97aa

Browse files
committed
Fix disposability of ReactivePropertyValidator
1 parent a3d95c4 commit 66d97aa

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/GitHub.Exports.Reactive/Validation/ReactivePropertyValidator.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Linq;
66
using System.Linq.Expressions;
77
using System.Reactive;
8+
using System.Reactive.Disposables;
89
using System.Reactive.Linq;
910
using System.Reactive.Threading.Tasks;
1011
using System.Text.RegularExpressions;
@@ -69,7 +70,7 @@ public enum ValidationStatus
6970
Valid = 2,
7071
}
7172

72-
public abstract class ReactivePropertyValidator : ReactiveObject
73+
public abstract class ReactivePropertyValidator : ReactiveObject, IDisposable
7374
{
7475
public static ReactivePropertyValidator<TProp> For<TObj, TProp>(TObj This, Expression<Func<TObj, TProp>> property)
7576
{
@@ -92,9 +93,18 @@ protected ReactivePropertyValidator()
9293
public abstract Task<ReactivePropertyValidationResult> ExecuteAsync();
9394

9495
public abstract Task ResetAsync();
96+
97+
protected virtual void Dispose(bool disposing)
98+
{
99+
}
100+
101+
public void Dispose()
102+
{
103+
Dispose(true);
104+
GC.SuppressFinalize(this);
105+
}
95106
}
96107

97-
[SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable")]
98108
public class ReactivePropertyValidator<TProp> : ReactivePropertyValidator
99109
{
100110
readonly ReactiveCommand<ReactivePropertyValidationResult> validateCommand;

0 commit comments

Comments
 (0)