Ваш код set
фактически ничего не присваивает, а ссылается на себя. У меня такое чувство, что вы не понимаете, как работают свойства. Вам нужна вспомогательная переменная, которой манипулирует свойство:
private string[] _myList;
И тогда вам нужно, чтобы ваш код set
работал с этой переменной:
public string[] myList
{
get
{
return _myList;
}
set
{
_myList = value; // you have to assign it manually
for (int i = 0; i < _myList.Length; i++)
{
if (_myList[i] != null) _myList[i] = _myList[i].Trim();
}
}
}
Если вы пытаетесь получить доступ к myList
, он обращается к самому себе, который затем обращается к себе и т. Д., Что приводит к бесконечной рекурсии и переполнению стека.