Как суммировать переменные Т в обобщенном классе? - C#
Формулировка задачи:
Компилятор пишет что невозможно применить оператор + к переменным типа Т.
Вот код,в котором должны суммироваться переменные а и б типа Т(в методе Plus).
using System;
class A<T>
{
public T a;
public T b;
public A(T aa,T bb)
{
a = aa;
b = bb;
}
public T Plus()
{
T res;
res = a + b; //компилятор пишет невозможно применить оператор +
return res;
}
}
class Demo
{
static void Main()
{
A<int> ob = new A<int>(5, 10);
ob.Plus();
}
}Решение задачи: «Как суммировать переменные Т в обобщенном классе?»
textual
Листинг программы
class A<T>
{
public T a;
public T b;
public A(T _a, T _b)
{
a = _a;
b = _b;
}
public T Plus()
{
dynamic ta = a;
dynamic tb = b;
return ta + tb;
}
}
//---------------------------
static void Main(string[] args)
{
A<int> testInt = new A<int>(3,5);
int resInt = testInt.Plus();
A<int> testDouble = new A<int>(3.6, 5.8);
double resDouble = testDouble.Plus();
A<Random> testOther = new A<Random>(new Random(), new Random());
var resOther = testOther.Plus(); //Вот тут будет сгенерировано исключение RuntimeBinderException
}