Ошибка CS0501: function must declare a body because it is not marked abstract, extern, or partial - C#
Формулировка задачи:
прошу помочь исправить код
выдает ошибку CS0501
вот сам код:
using System;
namespace Test
{
class Point
{
static void Main(string[] args);
// Поля: int x, y;
int x, y;
// Конструкторы, позволяющие создать экземпляр класса: с нулевыми координатами; с заданными координатами.
public Point(int x = 0, int y = 0)
{
this.x = x;
this.y = y;
}
// Методы, позволяющие: вывести координаты точки на экран;
public void Show() { Console.WriteLine("x = {0}, y = {1}", x, y); }
// рассчитать расстояние от начала координат до точки;
public double Origin() { return Math.Sqrt(x * x + y * y); }
// переместить точку на плоскости на вектор (a, b).
public void Displacement(int x, int y)
{
this.x += x;
this.y += y;
}
// Свойства: получить-установить координаты точки (доступное для чтений и записи);
public int X
{
set { x = value; }
get { return x; }
}
public int Y
{
set { y = value; }
get { return y; }
}
// позволяющие умножить координаты точки на скаляр (доступное только для записи).
public int MultScalX
{
set { x *= value; }
}
public int MultScalY
{
set { y *= value; }
}
// Перегрузку: операции ++ (--): одновременно увеличивает (уменьшает) значение полей х и у на 1;
public static Point operator --(Point obj)
{
obj.x -= 1;
obj.y -= 1;
return obj;
}
public static Point operator ++(Point obj)
{
obj.x += 1;
obj.y += 1;
return obj;
}
// констант true и false: обращение к экземпляру класса дает значение true, если значение полей x и у совпадает, иначе false;
public static bool operator false(Point obj)
{
if (obj.x != obj.y)
return false;
return true;
}
public static bool operator true(Point obj)
{
if (obj.x == obj.y)
return true;
return false;
}
// операции бинарный +: одновременно добавляет к полям х и у значение скаляра;
public static Point operator +(Point obj, int scal)
{
obj.x += scal;
obj.y += scal;
return obj;
}
public static Point operator +(int scal, Point obj)
{
obj.x += scal;
obj.y += scal;
return obj;
}
// Индексатор, позволяющий по индексу 0 обращаться к полю x, по индексу 1 – к полю y, при других значениях индекса выдается сообщение об ошибке.
public int this[int i]
{
get
{
if (i == 0)
return x;
if (i == 1) return y;
throw new Exception("Error");
}
}
// преобразования типа Point в string (и наоборот).
public static explicit operator String(Point obj)
{
return obj.x + ", " + obj.y;
}
public static explicit operator Point(string str)
{
string[] q = str.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
Point obj = new Point();
obj.x = int.Parse(q[0]);
obj.y = int.Parse(q[1]);
return obj;
}
}
}Решение задачи: «Ошибка CS0501: function must declare a body because it is not marked abstract, extern, or partial»
textual
Листинг программы
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
//создаем точку p1
Point p1 = new Point();
//создаем точку p2
Point p2 = new Point(10, 20);
//выводим координаты точки p1
p1.Show();
//выводим координаты точки p2
p2.Show();
//перемещаем точку p2
p2.Displacement(3, 12);
//выводим координаты точки p2
p2.Show();
}
}
class Point
{
// Поля: int x, y;
int x, y;
//... и т.д.
}
}