У меня есть метод расширения, который выглядит как
public static T ThrowIfObjectIsNull<T>(this T argument) where T : class
{
if (argument == null)
throw new ArgumentNullException(nameof(argument));
return argument;
}
Это в основном проверяет, не передается ли объект, который передается. То, что я пытаюсь сделать, это создать другой метод расширения, в котором значение int
которое передается, не равно 0. Поэтому я пошел и создал:
public static T ThrowIfZero<T>(this T argument) where T : struct
{
if (argument == 0)
throw new ArgumentOutOfRangeException("some error here");
return argument;
}
Конечно, вышесказанное не компилирует, предлагая ошибку:
Ошибка CS0019 Оператор '==' не может применяться к операндам типа 'T' и 'int'
Может ли кто-нибудь указать мне в правильном направлении, как я могу проверить, не значение аргумента не 0
?