Как суммировать переменные Т в обобщенном классе? - 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 }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д