From 9d6bc655f8594147bd834683c95ea0af8a6ea65e Mon Sep 17 00:00:00 2001 From: Benjamin Michaelis Date: Wed, 29 Nov 2023 20:09:08 -0800 Subject: [PATCH 1/2] feat: Update to C# 12.0 --- Directory.Build.props | 2 +- .../ClaimsPrincipalExtensionsTests.cs | 4 ++-- .../Extensions/HttpExtensions.cs | 2 +- IntelliTect.Multitool/ReleaseDateAttribute.cs | 17 ++++++----------- 4 files changed, 10 insertions(+), 15 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 4d8ff9e..eeb84d5 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -16,7 +16,7 @@ README.md - 10.0 + 12.0 true enable diff --git a/IntelliTect.Multitool.Tests/ClaimsPrincipalExtensionsTests.cs b/IntelliTect.Multitool.Tests/ClaimsPrincipalExtensionsTests.cs index ddc198c..a6052db 100644 --- a/IntelliTect.Multitool.Tests/ClaimsPrincipalExtensionsTests.cs +++ b/IntelliTect.Multitool.Tests/ClaimsPrincipalExtensionsTests.cs @@ -6,8 +6,8 @@ namespace IntelliTect.Multitool.Security.Tests; public class ClaimsPrincipalExtensionsTests { - static readonly string[] roles = new[] { "Foo", "Bar" }; - static readonly string[] singleRole = new[] { "Bar" }; + static readonly string[] roles = ["Foo", "Bar"]; + static readonly string[] singleRole = ["Bar"]; [Fact] public void GetRoles_WhenClaimsPrincipalNull_Should_Throw() diff --git a/IntelliTect.Multitool/Extensions/HttpExtensions.cs b/IntelliTect.Multitool/Extensions/HttpExtensions.cs index ab26a0c..2af2287 100644 --- a/IntelliTect.Multitool/Extensions/HttpExtensions.cs +++ b/IntelliTect.Multitool/Extensions/HttpExtensions.cs @@ -50,6 +50,6 @@ public static async Task ValidateUri(this HttpClient client, Uri uri, Prod /// The result of the call public static async Task ValidateUri(this HttpClient client, Uri uri, ProductInfoHeaderValue? headerValue, HttpCompletionOption completionOption = HttpCompletionOption.ResponseHeadersRead) { - return await ValidateUri(client, uri, headerValue is null ? null : new ProductInfoHeaderValue[] { headerValue }, completionOption); + return await ValidateUri(client, uri, headerValue is null ? null : [headerValue], completionOption); } } diff --git a/IntelliTect.Multitool/ReleaseDateAttribute.cs b/IntelliTect.Multitool/ReleaseDateAttribute.cs index 4366bf2..88fa8ca 100644 --- a/IntelliTect.Multitool/ReleaseDateAttribute.cs +++ b/IntelliTect.Multitool/ReleaseDateAttribute.cs @@ -6,22 +6,17 @@ namespace IntelliTect.Multitool; /// /// The release date assembly attribute /// +/// +/// Constructor that takes in a DateTime string +/// +/// A DateTime 'O' (round-trip date/time) format string [AttributeUsage(AttributeTargets.Assembly)] -public class ReleaseDateAttribute : Attribute +public class ReleaseDateAttribute(string utcDateString) : Attribute { - /// - /// Constructor that takes in a DateTime string - /// - /// A DateTime 'O' (round-trip date/time) format string - public ReleaseDateAttribute(string utcDateString) - { - ReleaseDate = DateTime.ParseExact(utcDateString, "O", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); - } - /// /// The date the assembly was built /// - public DateTime ReleaseDate { get; } + public DateTime ReleaseDate { get; } = DateTime.ParseExact(utcDateString, "O", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); /// /// Method to obtain the release date from the assembly attribute From cd4a0799672098817cf2462ebd29367279ca8153 Mon Sep 17 00:00:00 2001 From: Benjamin Michaelis Date: Thu, 30 Nov 2023 01:42:36 -0800 Subject: [PATCH 2/2] Update ReleaseDateAttribute.cs --- IntelliTect.Multitool/ReleaseDateAttribute.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/IntelliTect.Multitool/ReleaseDateAttribute.cs b/IntelliTect.Multitool/ReleaseDateAttribute.cs index 88fa8ca..7356c64 100644 --- a/IntelliTect.Multitool/ReleaseDateAttribute.cs +++ b/IntelliTect.Multitool/ReleaseDateAttribute.cs @@ -4,11 +4,8 @@ namespace IntelliTect.Multitool; /// -/// The release date assembly attribute +/// The release date assembly attribute with a constructor that takes in a DateTime string /// -/// -/// Constructor that takes in a DateTime string -/// /// A DateTime 'O' (round-trip date/time) format string [AttributeUsage(AttributeTargets.Assembly)] public class ReleaseDateAttribute(string utcDateString) : Attribute @@ -29,4 +26,4 @@ public class ReleaseDateAttribute(string utcDateString) : Attribute return attribute?.Length >= 1 ? ((ReleaseDateAttribute)attribute[0]).ReleaseDate : null; } -} \ No newline at end of file +}