Как чтобы проверить, является ли (общий) числовой тип целочисленным или нецелым типом в C #?

У меня есть общий тип T . Используя Марк оператор класс , я могу выполнять вычисления над ним.

Можно ли простыми вычислениями определить, является ли тип интегральным или нецелым типом?

Возможно, есть лучшее решение? Я бы предпочел поддерживать любой возможный тип, поэтому я хотел бы предотвратить жесткое кодирование того, какие типы являются интегральными / нецелочисленными.

Справочная информация

Ситуация, в которой я нахожусь, заключается в том, что я хочу преобразовать double в T , но округлить до ближайшего значения T в значение двойное .

int a = (int) 2.6 приводит к 2 , в то время как я хочу, чтобы он привел к 3 , без знания типа (в данном случае int ). Это также может быть double , и в этом случае я хочу, чтобы результат был 2.6 .

10
задан Steven Jeuris 15 December 2011 в 14:48
поделиться