Расширить статический класс - 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;
}
}