\r
public interface Figure\r
{\r
+ Point datum { get; set; }\r
Figure shift(Point p);\r
Figure centering(Point p);\r
void draw();\r
}\r
public static class FigureExtention\r
{\r
+ public static Point getDatum(this Figure target)\r
+ {\r
+ return target.datum;\r
+ }\r
+ public static Point setDatum(this Figure target, Point p)\r
+ {\r
+ target.datum = p;\r
+ return target.datum;\r
+ }\r
public static Figure shift(this Figure target, double x, double y)\r
{\r
return target.shift(new Point(x, y));\r