Расширить статический класс - C#
Формулировка задачи:
Хай.
Есть класс:
Я пытаюсь его расширить:
Ругается на то, что нельзя использовать статические типы в виде параметров (this MathObject obj).
Как это можно обойти? Спасибо.
Листинг программы
- static class MathObject
- {
- public static double Area(ref Romb R)
- {
- if(R.Diagd != 0 && R.DiagD != 0)
- return 0.5 * R.Diagd * R.DiagD;
- if (R.Side != 0 && R.Side != 0)
- return R.Side * R.Side * Math.Sin(R.Anglec);
- return 0;
- }
- }
Листинг программы
- static class ExtensionMO
- {
- public static bool TestArea(this MathObject obj, Romb R,double a,double b)
- {
- double Area = a * b;
- double AreaR = MathObject.Area(ref R);
- if (Area < AreaR)
- return false;
- return true;
- }
- }
Решение задачи: «Расширить статический класс»
textual
Листинг программы
- public class MathObject {
- public double Area(ref Romb R) {
- if (R.Diagd != 0 && R.DiagD != 0)
- return 0.5 * R.Diagd * R.DiagD;
- if (R.Side != 0 && R.Side != 0)
- return R.Side * R.Side * Math.Sin(R.Anglec);
- return 0;
- }
- }
- static class ExtensionMO {
- public static bool TestArea(this MathObject obj, Romb R, double a, double b) {
- double Area = a * b;
- double AreaR = obj.Area(ref R);
- if (Area < AreaR)
- return false;
- return true;
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д