GuardStaticsThrowIfT(T, Boolean, FuncT, String, String) - метод

Выбрасывает исключение ArgumentOutOfRangeException, если для параметра argument выполняется условие condition. Сообщение определяется функцией getMessageFunc.

Definition

Пространство имён: Tessa.Platform
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static void ThrowIf<T>(
	T argument,
	bool condition,
	Func<T, string?>? getMessageFunc,
	[InvokerParameterNameAttribute] string? paramName = null
)

Параметры

argument  T
Значение аргумента, которое должно проверяться в условии condition.
condition  Boolean
Условие, определяющее, что значение argument является некорректным. Метод выбрасывает ArgumentOutOfRangeException, если передано true.
getMessageFunc  FuncT, String

Функция, получающая значение аргумента argument и возвращающая сообщение об ошибке, к которому дописывается имя аргумента и строка "Reason: ", или null/Empty, если сообщение определяется автоматически.
Если параметр равен null, то это аналогично функции, возвращающей null.

Рекомендуется функцию всегда объявлять как static x => ..., чтобы не приводить к созданию замыкания, даже если condition равен false.
При более сложном формировании сообщения рекомендуется переписать проверку как if и выбрасывать исключение внутри.

paramName  String  (Optional)
Имя параметра argument. Рекомендуется не заполнять, чтобы имя автоматически определил компилятор.

Параметры типа

T
Тип аргумента argument.

Пример

C#
// throw if arg < 0
ThrowIf(arg, arg < 0, static x => $"Can't set value to {x}");

Исключения

ArgumentOutOfRangeExceptionЗначение condition равно false.

См. также