Существует ли общее ограничение C # для типов «действительное число»? [Дубликат]

Возможный дубликат:
C # общее ограничение только для целых чисел

Здоровается!

Я пытаюсь настроить декартову систему координат в C #, но я не хочу ограничиваться каким-либо одним числовым типом для моих значений координат. Иногда они могут быть целыми числами, а иногда они могут быть рациональными числами, в зависимости от контекста.

Это кричит «универсальный класс» для меня, но я озадачен тем, как ограничить тип как интегралами, так и числами с плавающей запятой. Я не могу найти класс, который охватывает какую-либо концепцию действительных чисел ...

public class Point<T> where T : [SomeClassThatIncludesBothIntsandFloats?]  {
    T myX, myY;

    public Point(T x, T y) {
        myX = x;
        myY = y;
    }
}

Point<int> pInt = new Point<int>(5, -10);
Point<float> pFloat = new Point<float>(3.14159, -0.2357);

Если я хочу этого уровня свободы, выбираю ли я кошмар "typeof (T)", когда дело доходит до вычислений внутри моих классов, отсеивания bool, строк, объектов и т. Д.? Или, что еще хуже, я выбираю создание класса для каждого типа чисел, с которыми я хочу работать, с одинаковыми внутренними математическими формулами?

Любая помощь будет оценена. Спасибо!

Ответы на вопрос(8)

Ваш ответ на вопрос