Обобщение с ограничением - числовые типы - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! При создании обобщенного класса, в качестве ограничения на Т можно накладывать только интерфейс или класс, мне же надо, чтоб это был числовой тип данных (int, float, double,...). Подскажите, каким образом такое реализовать? Заранее спасибо!

Решение задачи: «Обобщение с ограничением - числовые типы»

textual
Листинг программы
    public interface IArithmetic<T>
    {
        T Add (T a, T b);
        T Multiply (T a, T b);
        T Subtract (T a, T b);
        T Divide (T a, T b);
    }  
    class S<Data> where Data : IArithmetic<Data>  
    {
        public T Add (T a, T b) { return a + b; }
        public T Multiply (T a, T b) { return a * b; }
        public T Subtract (T a, T b) { return a - b; }
        public T Divide (T a, T b) { return a / b; }
    }
    class Program
    {
        static void Main()
        {
            S<int> XS = new S<int>();
            Console.WriteLine(XS.Add(4, 9));
            Console.ReadKey();
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы