Как суммировать переменные Т в обобщенном классе? - 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
}

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


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

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

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