Как суммировать переменные Т в обобщенном классе? - C#

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

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

Компилятор пишет что невозможно применить оператор + к переменным типа Т. Вот код,в котором должны суммироваться переменные а и б типа Т(в методе Plus).
Листинг программы
  1. using System;
  2. class A<T>
  3. {
  4. public T a;
  5. public T b;
  6. public A(T aa,T bb)
  7. {
  8. a = aa;
  9. b = bb;
  10. }
  11. public T Plus()
  12. {
  13. T res;
  14. res = a + b; //компилятор пишет невозможно применить оператор +
  15. return res;
  16. }
  17.  
  18. }
  19. class Demo
  20. {
  21. static void Main()
  22. {
  23. A<int> ob = new A<int>(5, 10);
  24.  
  25. ob.Plus();
  26. }
  27. }

Решение задачи: «Как суммировать переменные Т в обобщенном классе?»

textual
Листинг программы
  1. class A<T>
  2. {
  3.     public T a;
  4.     public T b;
  5.  
  6.     public A(T _a, T _b)
  7.     {
  8.         a = _a;
  9.         b = _b;
  10.     }
  11.  
  12.     public T Plus()
  13.     {
  14.         dynamic ta = a;
  15.         dynamic tb = b;
  16.         return ta + tb;
  17.     }
  18. }
  19. //---------------------------
  20. static void Main(string[] args)
  21. {
  22.     A<int> testInt = new A<int>(3,5);
  23.     int resInt = testInt.Plus();
  24.  
  25.     A<int> testDouble = new A<int>(3.6, 5.8);
  26.     double resDouble = testDouble.Plus();
  27.  
  28.     A<Random> testOther = new A<Random>(new Random(), new Random());
  29.     var resOther = testOther.Plus(); //Вот тут будет сгенерировано исключение RuntimeBinderException
  30. }

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


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

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

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы