From c80e59cf8de2a865b67cb3bf8f2d6ccb42643df2 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Wed, 3 Jul 2019 10:29:41 -0500 Subject: [PATCH] resolve CA1826 warning with custom extension method --- .../Extensions/ReadOnlyListExtensions.cs | 14 ++++++++++++++ .../Features/Urls/CloseUrlValidationIssue.cs | 4 ++-- .../Urls/CreateOrUpdateUrlValidationIssue.cs | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/FilterLists.Agent/Extensions/ReadOnlyListExtensions.cs diff --git a/src/FilterLists.Agent/Extensions/ReadOnlyListExtensions.cs b/src/FilterLists.Agent/Extensions/ReadOnlyListExtensions.cs new file mode 100644 index 000000000..093fc24fc --- /dev/null +++ b/src/FilterLists.Agent/Extensions/ReadOnlyListExtensions.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace FilterLists.Agent.Extensions +{ + public static class ReadOnlyListExtensions + { + public static T FirstOrDefault(this IReadOnlyList list) + { + if (list is null || list.Count == 0) + return default; + return list[0]; + } + } +} \ No newline at end of file diff --git a/src/FilterLists.Agent/Features/Urls/CloseUrlValidationIssue.cs b/src/FilterLists.Agent/Features/Urls/CloseUrlValidationIssue.cs index 7dfb6be7a..b4c088c8b 100644 --- a/src/FilterLists.Agent/Features/Urls/CloseUrlValidationIssue.cs +++ b/src/FilterLists.Agent/Features/Urls/CloseUrlValidationIssue.cs @@ -1,6 +1,6 @@ -using System.Linq; -using System.Threading; +using System.Threading; using System.Threading.Tasks; +using FilterLists.Agent.Extensions; using FilterLists.Agent.Infrastructure.Clients; using MediatR; using Octokit; diff --git a/src/FilterLists.Agent/Features/Urls/CreateOrUpdateUrlValidationIssue.cs b/src/FilterLists.Agent/Features/Urls/CreateOrUpdateUrlValidationIssue.cs index 87edee76c..f9d0fb8db 100644 --- a/src/FilterLists.Agent/Features/Urls/CreateOrUpdateUrlValidationIssue.cs +++ b/src/FilterLists.Agent/Features/Urls/CreateOrUpdateUrlValidationIssue.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; -using System.Linq; using System.Threading; using System.Threading.Tasks; +using FilterLists.Agent.Extensions; using FilterLists.Agent.Features.Urls.Models.ValidationResults; using FilterLists.Agent.Infrastructure.Clients; using MediatR;