fix: use ArgumentNullException throw helper for .NET >=6

Some of these directives were incorrectly written as #if NET6_0, when ThrowIfNull is available in all future versions too. The macro has been fixed to #if NET6_0_OR_GREATER.

For other methods, the branch has been introduced where it didn't exist before.
This commit is contained in:
Oliver Booth 2023-04-01 14:19:28 +01:00
parent dd325ba5c9
commit 431e72a4c1
No known key found for this signature in database
GPG Key ID: 20BEB9DC87961025
4 changed files with 39 additions and 5 deletions

View File

@ -16,10 +16,14 @@ public static class CollectionExtensions
/// <seealso cref="EnumerableExtensions.DisposeAll{T}" />
public static void ClearAndDisposeAll<T>(this ICollection<T> source) where T : IDisposable
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
#else
if (source is null)
{
throw new ArgumentNullException(nameof(source));
}
#endif
if (source.IsReadOnly)
{
@ -51,10 +55,14 @@ public static class CollectionExtensions
/// <seealso cref="EnumerableExtensions.DisposeAllAsync{T}" />
public static async Task ClearAndDisposeAllAsync<T>(this ICollection<T> source) where T : IAsyncDisposable
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
#else
if (source is null)
{
throw new ArgumentNullException(nameof(source));
}
#endif
if (source.IsReadOnly)
{

View File

@ -24,7 +24,7 @@ public static class EnumerableExtensions
[Pure]
public static int CountWhereNot<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
#if NET6_0
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(predicate);
#else
@ -58,7 +58,7 @@ public static class EnumerableExtensions
[Pure]
public static TSource FirstWhereNot<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
#if NET6_0
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(predicate);
#else
@ -91,7 +91,7 @@ public static class EnumerableExtensions
[Pure]
public static TSource? FirstWhereNotOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
#if NET6_0
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(predicate);
#else
@ -127,6 +127,10 @@ public static class EnumerableExtensions
/// </exception>
public static void For<T>(this IEnumerable<T> source, Action<int, T> action)
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(action);
#else
if (source is null)
{
throw new ArgumentNullException(nameof(source));
@ -136,6 +140,7 @@ public static class EnumerableExtensions
{
throw new ArgumentNullException(nameof(action));
}
#endif
var index = 0;
foreach (T item in source)
@ -161,6 +166,10 @@ public static class EnumerableExtensions
/// </exception>
public static void ForEach<T>(this IEnumerable<T> source, Action<T> action)
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(action);
#else
if (source is null)
{
throw new ArgumentNullException(nameof(source));
@ -170,6 +179,7 @@ public static class EnumerableExtensions
{
throw new ArgumentNullException(nameof(action));
}
#endif
foreach (T item in source)
{
@ -186,10 +196,14 @@ public static class EnumerableExtensions
/// <seealso cref="CollectionExtensions.ClearAndDisposeAll{T}" />
public static void DisposeAll<T>(this IEnumerable<T> source) where T : IDisposable
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
#else
if (source is null)
{
throw new ArgumentNullException(nameof(source));
}
#endif
foreach (T item in source)
{
@ -213,10 +227,14 @@ public static class EnumerableExtensions
/// <seealso cref="CollectionExtensions.ClearAndDisposeAllAsync{T}" />
public static async Task DisposeAllAsync<T>(this IEnumerable<T> source) where T : IAsyncDisposable
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
#else
if (source is null)
{
throw new ArgumentNullException(nameof(source));
}
#endif
foreach (T item in source)
{
@ -246,7 +264,7 @@ public static class EnumerableExtensions
[Pure]
public static TSource LastWhereNot<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
#if NET6_0
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(predicate);
#else
@ -279,7 +297,7 @@ public static class EnumerableExtensions
[Pure]
public static TSource? LastWhereNotOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
{
#if NET6_0
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(source);
ArgumentNullException.ThrowIfNull(predicate);
#else

View File

@ -55,10 +55,14 @@ public class StringBuilderReader : TextReader
/// <inheritdoc />
public override int Read(char[] buffer, int index, int count)
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(buffer);
#else
if (buffer is null)
{
throw new ArgumentNullException(nameof(buffer));
}
#endif
if (index < 0)
{

View File

@ -64,10 +64,14 @@ public static class StringExtensions
#endif
public static TimeSpan ToTimeSpan(this string input)
{
#if NET6_0_OR_GREATER
ArgumentNullException.ThrowIfNull(input);
#else
if (input is null)
{
throw new ArgumentNullException(nameof(input));
}
#endif
return TimeSpanParser.TryParse(input, out TimeSpan result)
? result