прошу помочь разобраться в использовании обобщенных методов. Проблема в следующем: я проверяю введенное значение, чтобы оно было больше нуля, пытаюсь это сделать следующим методом:
public static void CheckGreaterZero<T> (ref T parametr)
{
try
{
if (parametr < 0)
{
throw new Exception
("Данное значение не может быть отрицательным!\n" +
"Программа будет завершена.");
}
}
catch (Exception e)
{
Console.WriteLine("Ошибка: " + e.Message);
Console.ReadKey();
Environment.Exit(0);
}
}
но получается ошибка "Оператор < нельзя применить к операнду типа T и int". Для меня важен универсальный параметр, т.к. данным методом я буду проверять значения int и double, можно ли как-то поправить данную ошибку и корректно написать данный метод? Заранее благодарен за любую помощь.
Вот так сделай
class Program
{
static void Main(string[] args)
{
var g = 7.6;
CheckGreaterZero(ref g);
Console.ReadKey();
}
public static void CheckGreaterZero<T>(ref T parametr)
{
if (typeof(T) == Type.GetType("System.Double"))
{
Console.WriteLine("System.Double");
}
if (typeof(T) == Type.GetType("System.Int32"))
{
Console.WriteLine("System.Int32");
}
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости