Многие знают что можно сохранить настройки программы следующим образом
Код | Properties.Settings settings = new Maria.Test.Properties.Settings(); settings.Width = width; settings.Height = height; settings.Save();
|
где width и height это собстно то что вы хотите сохранить а settings.Width и settings.Height поля сохранений задаваемые в файле Settings.settings. так вот у мя проблема возникла с с этим. Есть следующий код
Код | Properties.Settings settings = new Maria.Test.Properties.Settings(); settings.Width = width; settings.Height = height; settings.SplitterPosition = splitterPosition; settings.ColumnInfoCollection = columnInfoCollection; settings.Save();
|
В нем первые три настройки сохраняются нормально, а вот четвертая, которая ColumnInfoCollection не хочет. ColumnInfoCollection это ArrayList экземпляров вот этого класса
Код | public class ColumnInfo { private string propertyName;
public string PropertyName { get { return propertyName; } set { propertyName = value; } }
private double width;
public double Width { get { return width; } set { width = value; } }
private string header;
public string Header { get { return header; } set { header = value; } } }
|
Подробнее о проблеме: останавливал прогу перед методом Save(), в поле settings.ColumnInfoCollection все записалось прально. Но когда я запускаю следющую функции при старте программы :
Код | Properties.Settings settings = new Properties.Settings(); width = settings.Width; height = settings.Height; splitterPosition = settings.SplitterPosition; columnInfoCollection = settings.ColumnInfoCollection;
|
То первые три значения загружаются точно такими же каким были во время сохнанения, а settings.ColumnInfoCollection =null. Возможно проблема в том что коллекция из экземпляров пользовательского класса, потому что точно такой же ArrayList со значениями double сохраняется и загружается нормально. Заранее спасибо за ответ. |