Я хочу сделать что-то вроде этого:
Код: Выделить всё
public TValue Number {get;set;}
public TValue GetMaxNumber()
{
switch (Number)
{
case int @int:
if (@int == default(int))
{
return int.MaxValue;
}
case long @long:
//get max value of long
case short @short:
//get max value of short
case float @float:
//get max value of float
case double @double:
//get max value of double
case decimal @decimal:
//get max value of decimal
default:
throw new InvalidOperationException($"Unsupported type {Number.GetType()}");
}
}
Основная проблема, с которой я столкнулся, заключается в том, что я не понимаю, как преобразовать что-то вроде int обратно в исходный универсальный тип, при использовании свойств int, таких как MaxValue.
Как мне заставить это работать?
Подробнее здесь: https://stackoverflow.com/questions/686 ... in-c-sharp