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