Skip to content

Commit 09529ee

Browse files
authored
housekeeping: Update to C# 9 syntax (#182)
1 parent 5a2ff56 commit 09529ee

32 files changed

+185
-252
lines changed

src/Directory.build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
3838
</ItemGroup>
3939
<ItemGroup>
40-
<PackageReference Include="stylecop.analyzers" Version="1.2.0-beta.205" PrivateAssets="all" />
40+
<PackageReference Include="stylecop.analyzers" Version="1.2.0-beta.312" PrivateAssets="all" />
4141
<PackageReference Include="Roslynator.Analyzers" Version="3.0.0" PrivateAssets="All" />
4242
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="5.0.1" PrivateAssets="all" />
4343
</ItemGroup>

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.net461.approved.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ namespace ReactiveUI.Validation.Collections
1717
public string this[int index] { get; }
1818
public System.Collections.Generic.IEnumerator<string> GetEnumerator() { }
1919
public string ToSingleLine(string? separator = ",") { }
20-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText> validationTexts) { }
21-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string> validationTexts) { }
22-
public static ReactiveUI.Validation.Collections.ValidationText Create(params string[] validationTexts) { }
20+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText>? validationTexts) { }
21+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string>? validationTexts) { }
22+
public static ReactiveUI.Validation.Collections.ValidationText Create(params string?[]? validationTexts) { }
2323
}
2424
}
2525
namespace ReactiveUI.Validation.Comparators
2626
{
2727
public class ValidationStateComparer : System.Collections.Generic.EqualityComparer<ReactiveUI.Validation.States.IValidationState>
2828
{
2929
public ValidationStateComparer() { }
30-
public override bool Equals(ReactiveUI.Validation.States.IValidationState x, ReactiveUI.Validation.States.IValidationState y) { }
30+
public override bool Equals(ReactiveUI.Validation.States.IValidationState? x, ReactiveUI.Validation.States.IValidationState? y) { }
3131
public override int GetHashCode(ReactiveUI.Validation.States.IValidationState obj) { }
3232
}
3333
}
@@ -189,7 +189,7 @@ namespace ReactiveUI.Validation.Formatters
189189
{
190190
public SingleLineFormatter(string? separator = null) { }
191191
public static ReactiveUI.Validation.Formatters.SingleLineFormatter Default { get; }
192-
public string Format(ReactiveUI.Validation.Collections.ValidationText validationText) { }
192+
public string Format(ReactiveUI.Validation.Collections.ValidationText? validationText) { }
193193
}
194194
}
195195
namespace ReactiveUI.Validation.Helpers
@@ -200,14 +200,14 @@ namespace ReactiveUI.Validation.Helpers
200200
public bool HasErrors { get; }
201201
public ReactiveUI.Validation.Contexts.ValidationContext ValidationContext { get; }
202202
public event System.EventHandler<System.ComponentModel.DataErrorsChangedEventArgs>? ErrorsChanged;
203-
public virtual System.Collections.IEnumerable GetErrors(string propertyName) { }
203+
public virtual System.Collections.IEnumerable GetErrors(string? propertyName) { }
204204
protected void RaiseErrorsChanged(string propertyName = "") { }
205205
}
206206
public class ValidationHelper : ReactiveUI.ReactiveObject, System.IDisposable
207207
{
208208
public ValidationHelper(ReactiveUI.Validation.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup = null) { }
209209
public bool IsValid { get; }
210-
public ReactiveUI.Validation.Collections.ValidationText? Message { get; }
210+
public ReactiveUI.Validation.Collections.ValidationText Message { get; }
211211
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationChanged { get; }
212212
public void Dispose() { }
213213
protected virtual void Dispose(bool disposing) { }

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.net472.approved.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ namespace ReactiveUI.Validation.Collections
1717
public string this[int index] { get; }
1818
public System.Collections.Generic.IEnumerator<string> GetEnumerator() { }
1919
public string ToSingleLine(string? separator = ",") { }
20-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText> validationTexts) { }
21-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string> validationTexts) { }
22-
public static ReactiveUI.Validation.Collections.ValidationText Create(params string[] validationTexts) { }
20+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText>? validationTexts) { }
21+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string>? validationTexts) { }
22+
public static ReactiveUI.Validation.Collections.ValidationText Create(params string?[]? validationTexts) { }
2323
}
2424
}
2525
namespace ReactiveUI.Validation.Comparators
2626
{
2727
public class ValidationStateComparer : System.Collections.Generic.EqualityComparer<ReactiveUI.Validation.States.IValidationState>
2828
{
2929
public ValidationStateComparer() { }
30-
public override bool Equals(ReactiveUI.Validation.States.IValidationState x, ReactiveUI.Validation.States.IValidationState y) { }
30+
public override bool Equals(ReactiveUI.Validation.States.IValidationState? x, ReactiveUI.Validation.States.IValidationState? y) { }
3131
public override int GetHashCode(ReactiveUI.Validation.States.IValidationState obj) { }
3232
}
3333
}
@@ -189,7 +189,7 @@ namespace ReactiveUI.Validation.Formatters
189189
{
190190
public SingleLineFormatter(string? separator = null) { }
191191
public static ReactiveUI.Validation.Formatters.SingleLineFormatter Default { get; }
192-
public string Format(ReactiveUI.Validation.Collections.ValidationText validationText) { }
192+
public string Format(ReactiveUI.Validation.Collections.ValidationText? validationText) { }
193193
}
194194
}
195195
namespace ReactiveUI.Validation.Helpers
@@ -200,14 +200,14 @@ namespace ReactiveUI.Validation.Helpers
200200
public bool HasErrors { get; }
201201
public ReactiveUI.Validation.Contexts.ValidationContext ValidationContext { get; }
202202
public event System.EventHandler<System.ComponentModel.DataErrorsChangedEventArgs>? ErrorsChanged;
203-
public virtual System.Collections.IEnumerable GetErrors(string propertyName) { }
203+
public virtual System.Collections.IEnumerable GetErrors(string? propertyName) { }
204204
protected void RaiseErrorsChanged(string propertyName = "") { }
205205
}
206206
public class ValidationHelper : ReactiveUI.ReactiveObject, System.IDisposable
207207
{
208208
public ValidationHelper(ReactiveUI.Validation.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup = null) { }
209209
public bool IsValid { get; }
210-
public ReactiveUI.Validation.Collections.ValidationText? Message { get; }
210+
public ReactiveUI.Validation.Collections.ValidationText Message { get; }
211211
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationChanged { get; }
212212
public void Dispose() { }
213213
protected virtual void Dispose(bool disposing) { }

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.net5.0.approved.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ namespace ReactiveUI.Validation.Collections
1717
public string this[int index] { get; }
1818
public System.Collections.Generic.IEnumerator<string> GetEnumerator() { }
1919
public string ToSingleLine(string? separator = ",") { }
20-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText> validationTexts) { }
21-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string> validationTexts) { }
22-
public static ReactiveUI.Validation.Collections.ValidationText Create(params string[] validationTexts) { }
20+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText>? validationTexts) { }
21+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string>? validationTexts) { }
22+
public static ReactiveUI.Validation.Collections.ValidationText Create(params string?[]? validationTexts) { }
2323
}
2424
}
2525
namespace ReactiveUI.Validation.Comparators
2626
{
2727
public class ValidationStateComparer : System.Collections.Generic.EqualityComparer<ReactiveUI.Validation.States.IValidationState>
2828
{
2929
public ValidationStateComparer() { }
30-
public override bool Equals(ReactiveUI.Validation.States.IValidationState x, ReactiveUI.Validation.States.IValidationState y) { }
30+
public override bool Equals(ReactiveUI.Validation.States.IValidationState? x, ReactiveUI.Validation.States.IValidationState? y) { }
3131
public override int GetHashCode(ReactiveUI.Validation.States.IValidationState obj) { }
3232
}
3333
}
@@ -189,7 +189,7 @@ namespace ReactiveUI.Validation.Formatters
189189
{
190190
public SingleLineFormatter(string? separator = null) { }
191191
public static ReactiveUI.Validation.Formatters.SingleLineFormatter Default { get; }
192-
public string Format(ReactiveUI.Validation.Collections.ValidationText validationText) { }
192+
public string Format(ReactiveUI.Validation.Collections.ValidationText? validationText) { }
193193
}
194194
}
195195
namespace ReactiveUI.Validation.Helpers
@@ -200,14 +200,14 @@ namespace ReactiveUI.Validation.Helpers
200200
public bool HasErrors { get; }
201201
public ReactiveUI.Validation.Contexts.ValidationContext ValidationContext { get; }
202202
public event System.EventHandler<System.ComponentModel.DataErrorsChangedEventArgs>? ErrorsChanged;
203-
public virtual System.Collections.IEnumerable GetErrors(string propertyName) { }
203+
public virtual System.Collections.IEnumerable GetErrors(string? propertyName) { }
204204
protected void RaiseErrorsChanged(string propertyName = "") { }
205205
}
206206
public class ValidationHelper : ReactiveUI.ReactiveObject, System.IDisposable
207207
{
208208
public ValidationHelper(ReactiveUI.Validation.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup = null) { }
209209
public bool IsValid { get; }
210-
public ReactiveUI.Validation.Collections.ValidationText? Message { get; }
210+
public ReactiveUI.Validation.Collections.ValidationText Message { get; }
211211
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationChanged { get; }
212212
public void Dispose() { }
213213
protected virtual void Dispose(bool disposing) { }

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.ValidationProject.netcoreapp3.1.approved.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ namespace ReactiveUI.Validation.Collections
1717
public string this[int index] { get; }
1818
public System.Collections.Generic.IEnumerator<string> GetEnumerator() { }
1919
public string ToSingleLine(string? separator = ",") { }
20-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText> validationTexts) { }
21-
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string> validationTexts) { }
22-
public static ReactiveUI.Validation.Collections.ValidationText Create(params string[] validationTexts) { }
20+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<ReactiveUI.Validation.Collections.ValidationText>? validationTexts) { }
21+
public static ReactiveUI.Validation.Collections.ValidationText Create(System.Collections.Generic.IEnumerable<string>? validationTexts) { }
22+
public static ReactiveUI.Validation.Collections.ValidationText Create(params string?[]? validationTexts) { }
2323
}
2424
}
2525
namespace ReactiveUI.Validation.Comparators
2626
{
2727
public class ValidationStateComparer : System.Collections.Generic.EqualityComparer<ReactiveUI.Validation.States.IValidationState>
2828
{
2929
public ValidationStateComparer() { }
30-
public override bool Equals(ReactiveUI.Validation.States.IValidationState x, ReactiveUI.Validation.States.IValidationState y) { }
30+
public override bool Equals(ReactiveUI.Validation.States.IValidationState? x, ReactiveUI.Validation.States.IValidationState? y) { }
3131
public override int GetHashCode(ReactiveUI.Validation.States.IValidationState obj) { }
3232
}
3333
}
@@ -189,7 +189,7 @@ namespace ReactiveUI.Validation.Formatters
189189
{
190190
public SingleLineFormatter(string? separator = null) { }
191191
public static ReactiveUI.Validation.Formatters.SingleLineFormatter Default { get; }
192-
public string Format(ReactiveUI.Validation.Collections.ValidationText validationText) { }
192+
public string Format(ReactiveUI.Validation.Collections.ValidationText? validationText) { }
193193
}
194194
}
195195
namespace ReactiveUI.Validation.Helpers
@@ -200,14 +200,14 @@ namespace ReactiveUI.Validation.Helpers
200200
public bool HasErrors { get; }
201201
public ReactiveUI.Validation.Contexts.ValidationContext ValidationContext { get; }
202202
public event System.EventHandler<System.ComponentModel.DataErrorsChangedEventArgs>? ErrorsChanged;
203-
public virtual System.Collections.IEnumerable GetErrors(string propertyName) { }
203+
public virtual System.Collections.IEnumerable GetErrors(string? propertyName) { }
204204
protected void RaiseErrorsChanged(string propertyName = "") { }
205205
}
206206
public class ValidationHelper : ReactiveUI.ReactiveObject, System.IDisposable
207207
{
208208
public ValidationHelper(ReactiveUI.Validation.Components.Abstractions.IValidationComponent validation, System.IDisposable? cleanup = null) { }
209209
public bool IsValid { get; }
210-
public ReactiveUI.Validation.Collections.ValidationText? Message { get; }
210+
public ReactiveUI.Validation.Collections.ValidationText Message { get; }
211211
public System.IObservable<ReactiveUI.Validation.States.IValidationState> ValidationChanged { get; }
212212
public void Dispose() { }
213213
protected virtual void Dispose(bool disposing) { }

src/ReactiveUI.Validation.Tests/API/ApiApprovalTests.cs

+5-7
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,13 @@ namespace ReactiveUI.Validation.Tests.API
2424
[ExcludeFromCodeCoverage]
2525
public class ApiApprovalTests
2626
{
27-
private static readonly Regex _removeCoverletSectionRegex = new Regex(@"^namespace Coverlet\.Core\.Instrumentation\.Tracker.*?^}", RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.Compiled);
27+
private static readonly Regex _removeCoverletSectionRegex = new(@"^namespace Coverlet\.Core\.Instrumentation\.Tracker.*?^}", RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.Compiled);
2828

2929
/// <summary>
3030
/// Tests to make sure the splat project is approved.
3131
/// </summary>
3232
[Fact]
33-
public void ValidationProject()
34-
{
35-
CheckApproval(typeof(ValidationBinding).Assembly);
36-
}
33+
public void ValidationProject() => CheckApproval(typeof(ValidationBinding).Assembly);
3734

3835
private static void CheckApproval(Assembly assembly, [CallerMemberName]string memberName = null, [CallerFilePath]string filePath = null)
3936
{
@@ -57,7 +54,7 @@ private static void CheckApproval(Assembly assembly, [CallerMemberName]string me
5754
var approvedPublicApi = File.ReadAllText(approvedFileName);
5855

5956
var generatorOptions = new ApiGeneratorOptions { WhitelistedNamespacePrefixes = new[] { "ReactiveUI.Validation" } };
60-
var receivedPublicApi = Filter(ApiGenerator.GeneratePublicApi(assembly, generatorOptions));
57+
var receivedPublicApi = Filter(assembly.GeneratePublicApi(generatorOptions));
6158

6259
if (!string.Equals(receivedPublicApi, approvedPublicApi, StringComparison.InvariantCulture))
6360
{
@@ -75,7 +72,8 @@ private static string Filter(string text)
7572
new[]
7673
{
7774
Environment.NewLine
78-
}, StringSplitOptions.RemoveEmptyEntries)
75+
},
76+
StringSplitOptions.RemoveEmptyEntries)
7977
.Where(l =>
8078
!l.StartsWith("[assembly: AssemblyVersion(", StringComparison.InvariantCulture) &&
8179
!l.StartsWith("[assembly: AssemblyFileVersion(", StringComparison.InvariantCulture) &&

src/ReactiveUI.Validation.Tests/Models/IndeiTestView.cs

+1-4
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ public class IndeiTestView : IViewFor<IndeiTestViewModel>
1414
/// Initializes a new instance of the <see cref="IndeiTestView"/> class.
1515
/// </summary>
1616
/// <param name="viewModel">ViewModel instance of type <see cref="TestViewModel"/>.</param>
17-
public IndeiTestView(IndeiTestViewModel viewModel)
18-
{
19-
ViewModel = viewModel;
20-
}
17+
public IndeiTestView(IndeiTestViewModel viewModel) => ViewModel = viewModel;
2118

2219
/// <inheritdoc/>
2320
object IViewFor.ViewModel

src/ReactiveUI.Validation.Tests/Models/SourceDestinationView.cs

+1-4
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ public class SourceDestinationView : IViewFor<SourceDestinationViewModel>
1414
/// Initializes a new instance of the <see cref="SourceDestinationView"/> class.
1515
/// </summary>
1616
/// <param name="viewModel">ViewModel instance of type <see cref="SourceDestinationViewModel"/>.</param>
17-
public SourceDestinationView(SourceDestinationViewModel viewModel)
18-
{
19-
ViewModel = viewModel;
20-
}
17+
public SourceDestinationView(SourceDestinationViewModel viewModel) => ViewModel = viewModel;
2118

2219
/// <inheritdoc/>
2320
object IViewFor.ViewModel

src/ReactiveUI.Validation.Tests/Models/SourceDestinationViewModel.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ namespace ReactiveUI.Validation.Tests.Models
1414
/// </summary>
1515
public class SourceDestinationViewModel : ReactiveObject, IValidatableViewModel
1616
{
17-
private TestViewModel _source = new TestViewModel();
18-
private TestViewModel _destination = new TestViewModel();
17+
private TestViewModel _source = new();
18+
private TestViewModel _destination = new();
1919

2020
/// <summary>
2121
/// Gets or sets get the Name.
@@ -36,6 +36,6 @@ public TestViewModel Destination
3636
}
3737

3838
/// <inheritdoc/>
39-
public ValidationContext ValidationContext { get; } = new ValidationContext(Scheduler.Immediate);
39+
public ValidationContext ValidationContext { get; } = new(Scheduler.Immediate);
4040
}
4141
}

src/ReactiveUI.Validation.Tests/Models/TestView.cs

+2-5
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ public TestView()
2323
/// Initializes a new instance of the <see cref="TestView"/> class.
2424
/// </summary>
2525
/// <param name="viewModel">ViewModel instance of type <see cref="TestViewModel"/>.</param>
26-
public TestView(TestViewModel viewModel)
27-
{
28-
ViewModel = viewModel;
29-
}
26+
public TestView(TestViewModel viewModel) => ViewModel = viewModel;
3027

3128
/// <inheritdoc/>
3229
object IViewFor.ViewModel
@@ -70,6 +67,6 @@ public TestViewModel ViewModel
7067
/// <summary>
7168
/// Gets the error label which is represented by a container.
7269
/// </summary>
73-
public TestControl NameErrorContainer { get; } = new TestControl();
70+
public TestControl NameErrorContainer { get; } = new();
7471
}
7572
}

src/ReactiveUI.Validation.Tests/Models/TestViewModel.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,6 @@ public ValidationHelper NameRule
4747
}
4848

4949
/// <inheritdoc/>
50-
public ValidationContext ValidationContext { get; } = new ValidationContext(ImmediateScheduler.Instance);
50+
public ValidationContext ValidationContext { get; } = new(ImmediateScheduler.Instance);
5151
}
5252
}

0 commit comments

Comments
 (0)