ArgumentValidation
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using Windows.Win32.Graphics.Gdi;
namespace System
{
[NullableContext(2)]
[Nullable(0)]
internal static class ArgumentValidation
{
[return: Nullable(1)]
internal static T OrThrowIfNull<T>([NotNull] this T argument, [CallerArgumentExpression("argument")] string paramName = null)
{
ArgumentNullException.ThrowIfNull(argument, paramName);
return argument;
}
[return: Nullable(1)]
internal static T OrThrowIfNullWithMessage<T>([NotNull] this T argument, [Nullable(1)] string message, [CallerArgumentExpression("argument")] string paramName = null)
{
if (argument != null)
return argument;
throw new ArgumentNullException(paramName, message);
}
internal static IntPtr OrThrowIfZero(this IntPtr argument, [CallerArgumentExpression("argument")] string paramName = null)
{
if (argument != (IntPtr)0)
return argument;
throw new ArgumentNullException(paramName);
}
[return: Nullable(1)]
internal static string OrThrowIfNullOrEmpty([NotNull] this string argument, [CallerArgumentExpression("argument")] string paramName = null)
{
argument.ThrowIfNullOrEmpty(paramName);
return argument;
}
internal static void ThrowIfNullOrEmpty([NotNull] this string argument, [CallerArgumentExpression("argument")] string paramName = null)
{
if (string.IsNullOrEmpty(argument))
throw new ArgumentNullException(paramName);
}
internal static void ThrowIfNullOrEmptyWithMessage([NotNull] this string argument, [Nullable(1)] string message, [CallerArgumentExpression("argument")] string paramName = null)
{
if (string.IsNullOrEmpty(argument))
throw new ArgumentNullException(paramName, message);
}
internal static void ThrowIfNull(HDC argument, [CallerArgumentExpression("argument")] string paramName = null)
{
if (argument.IsNull)
throw new ArgumentNullException(paramName);
}
}
}