Как исправить ошибку (обобщённые типы)? - C#

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

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

Вот дано задание:

Задание 3

. Создать обобщенный класс в соответствии с вариантом задания, реализовать методы класса. Написать программу тестирования, в которой проверяется использование обобщенного класса для стандартных типов данных.

Вариант 6

Класс: прямоугольный треугольник. Поля: длины сторон. Методы: конструктор с параметрами, вычисление периметра и площади.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication3_1
{
    class Triangle<T>
    {
        T a;
        T b;
        T c;
        public Triangle() { }
        public Triangle(T a, T b, T c)
        {
        this.a = a;
        this.b = b;
        this.c = c;
        }
 
        public T P (T a, T b, T c)
        {
            return a as dynamic  + b + c;
        }
 
        public T S (T a, T b, T c)
        {
            dynamic p = (a as dynamic + b + c) / 2;
            return Math.Sqrt(p * (p - a as dynamic) * (p - b) * (p - c)); // тут выдаёт ошибку
        }
 
    }
    class Program
    {
        static void Main(string[] args)
        {
            Triangle<int> Tr1 = new Triangle<int>();
            Console.WriteLine(Tr1.P(3, 4, 5));
            Console.WriteLine(Tr1.S(3, 4, 5));
 
            Console.ReadLine();
        }
    }

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

textual
Листинг программы
return (T) Math.Sqrt(p * (p - a as dynamic) * (p - b) * (p - c));

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


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

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

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