Обобщение с ограничением - числовые типы - 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();
}
}