Давайте попробуем вместе разобраться как решать подобные вопросы.
В таких случаях первое что нужно сделать это правильно докопаться до корня проблемы.
Ваша задача убрать использование пространства имен
System.Drawing.
Что для этого нужно сделать?
1. Убрать вверху заголовочный using
using System.Drawing;
2. Удалить ссылку на сборку
Теперь пробуем скомпилировать проект, получаем ошибки:
error CS0246: Не удалось найти тип или имя пространства имен "Point" (возможно, отсутствует директива using или ссылка на сборку)
Значит вопрос можно переформулировать примерно следующим образом:
Чем можно заменить класс Point из System.Drawing?
Согласитесь, что чем более конкретен вопрос тем легче на него ответить.
Итак, всего одна ошибка значит большого труда исправление не составит. Не хватает одного класса
Point. Можно пойти посмотреть исходники и скопировать класс оттуда, но мы пойдем другим путем.
Компилятор пишет что нужен класс? Окей, давайте создадим класс
class Point
{
}
Пробуем собрать, ошибок стало еще больше. Но пугаться не нужно, внимательно читаем сообщения и строки которые вызывают ошибки
if (field[i, j] == "0") current = new Point(i, j);
1>error CS1061: "Point" не содержит определения "X", и не удалось найти доступный метод расширения "X", принимающий тип "Point" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
if ((i == current.X) && (j == current.Y))
1>error CS1061: "Point" не содержит определения "Y", и не удалось найти доступный метод расширения "Y", принимающий тип "Point" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
1>error CS1061: "Point" не содержит определения "Y", и не удалось найти доступный метод расширения "Y", принимающий тип "Point" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
Кажется, все понятно. Мы пытаемся использовать несуществующий конструктор и несуществующие свойства.
Добавляем все необходимое. Компилятор ругается на два свойства и ожидает увидеть конструктор с двумя параметрами? Ага, зависимость видна - каждому параметру соответствует свое свойство с названиями
X и
Y соответственно.
Как определить их тип? Смотрим что мы пытаемся туда передать?
i ,
j - целые числа -
int. Значит его и ставим.
class Point
{
public int X { get; set; }
public int Y { get; set; }
public Point(int x, int y)
{
X = x;
Y = y;
}
}
Пробуем скомпилировать? Ошибок нет, можно переходить к этапу проверки работоспособности.