Расширить статический класс - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д