<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.0" />

ThrowHelper

static class ThrowHelper
using System.Diagnostics.CodeAnalysis; using System.Runtime.CompilerServices; namespace System { internal static class ThrowHelper { [NullableContext(2)] internal static void ThrowIfNull([NotNull] object argument, [CallerArgumentExpression("argument")] string paramName = null) { if (argument == null) Throw(paramName); } [DoesNotReturn] private static void Throw(string paramName) { throw new ArgumentNullException(paramName); } [MethodImpl(MethodImplOptions.AggressiveInlining)] [NullableContext(1)] [return: NotNull] public static string IfNullOrWhitespace([Nullable(2)] [NotNull] string argument, [CallerArgumentExpression("argument")] string paramName = "") { if (string.IsNullOrWhiteSpace(argument)) { if (argument == null) throw new ArgumentNullException(paramName); throw new ArgumentException(paramName, "Argument is whitespace"); } return argument; } } }