Проблема с объявлением свойства List <myClass>в VS2010 - PullRequest
1 голос
/ 02 марта 2011

Привет Я создал два usercontrol (линия и станция) и использую STATION в пользовательском контроле THE LINE, и, наконец, я использую usercontrol "LINE" в некоторых формах.

Нет проблем во время разработки, но когда я хочу добавить «Line» usercontrol в форму. В этом случае Visual Studio перестает работать, а затем закрывается.

Я комментирую некоторые изменения в моем коде и обнаруживаю, что проблема связана со свойством количества станций в линии. Когда я комментирую, все идет хорошо, но мне нужно это свойство. это мой код

[Serializable]
public class ActionPoint
{
    public string CarInfo;
    public string RightStationName;
    public string RightStationInfo;
    public string LeftStationName;
    public string LeftStationInfo;

    public ActionPoint()
    {
    }
}

и использовать этот класс в моей собственности. Я использую это свойство для определения станций в линии.

public class Line : UserControl
{ 
   public List<ActionPoint> Stations
   {
   get { return Stations; }
   set { Stations = value; }
   }
}

Ответы [ 2 ]

4 голосов
/ 02 марта 2011

Этот код является рекурсивным (когда вы пытаетесь получить или установить это свойство, оно продолжается вечно - следуйте коду ...);IDE , вероятно, пытается либо отобразить это в сетке свойств, либо записать код для файла designer.cs - и достигает вашего дружественного исключения переполнения стека.

В зависимости от реализациибыть:

private List<ActionPoint> stations = new List<ActionPoint>();
public List<ActionPoint> Stations { get { return stations; } }
1 голос
/ 02 марта 2011

Я думаю проблема со свойством, а не списком, попробуйте это.

List<ActionPoint> _Stations;
public List<ActionPoint> Stations
{
   get { return _Stations; }
   set { _Stations = value; }
}

или

public List<ActionPoint> Stations
{
   get;
   set;
}
...