При обращении к полю для получения значения, для которого заданы get
и set
происходит многократное обращение к этому полю, в результате чего генерируется StackOverflowException
. Если же сделать поле доступным, т.е. public
, проблема исчезает.
class Sphere : Figure
{
public int radius
{
get { return radius; }
private set { radius = value; }
}
//неважный код
public Sphere(int r, double d) : base(d)
{
this.radius = r;
}
}
У вас код:
int radius
{
get { return radius; }
private set { radius = value; }
}
при присвоении вы вызываете замкнутый цыкл, с которого невозможно выйти.(включи дебаг и понажимай F11 что бы увидеть что именно комп делает)
нужно писать
private int _radius;
public int Radius
{
get { return _radius; }
private set { _radius = value; }
}
и все будет в порядке.
Как другой вариант, достаточно написать:
public int radius { get; private set;}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Решил попробовать поиск по DataGridView, в котором данные хранятся в bindingsource
использую CefSharp для отображения страницы HTML-документа, в котором содержится скрипт:
Использую Live ChartSeriesCollection передает LineSeries в котором Values = ChartValues