C# - сохранение списка и его объектов (сериализация? , настройки свойств? )
У меня есть простой список, вот такой:
fruitList = new FruitList(); Apple fruit1 = new Apple("red", "small"); Banana fruit2 = new Banana("yellow", "big"); fruitList.AddFruit(fruit1); fruitList.AddFruit(fruit2);
Моя программа отображает это в текстовом поле:
textbox.Text = fruitList.DescribeCurrentFruit()
public string DescribeCurrentFruit() { string description; if (fruitStock.Count > 0) { description = fruitStock[fruitCurrentlyDisplayed].Description(); } else { description = "No Fruits in stock"; } return description; }
Что я уже пробовал:
В настоящее время два текущих объекта/элемента списка (fruit1, fruit2) автоматически загружаются, поскольку они являются частью load_event моей оконной формы. Однако если они не являются частью load_event или если я хочу добавить больше элементов/объектов в список во время выполнения, а затем навсегда сохранить их, как я могу это сделать? Каков самый простой способ сделать это? Я бы предположил, что они сохраняются в настройках свойств проекта или сериализации XML. Но я понятия не имею, с чего начать. Если вам потребуется какая-либо дополнительная информация (я могу дать вам свой проект/исходный код), Пожалуйста, дайте мне знать. Я в отчаянии! С уважением.
an0ther1
Настройки свойств имеют 2 области действия, приложение и пользователь.
Область применения доступна только для чтения, но доступна для всех пользователей-Visual Studio изначально не поддерживает запись в них, но вы можете создавать пользовательские геттеры и сеттеры. Однако проблема, с которой вы можете столкнуться, заключается в том, что ваш пользователь должен иметь возможность читать и записывать в то место, где вы храните базовый файл, это может привести к сбою в зависимости от уровня обращения пользователя; https://msdn.microsoft.com/en-us/library/system.configuration.settingsprovider(v=против 110).aspx
Область действия пользователя читается/записывается, но доступна только текущему пользователю.
Во - первых, вам нужно разработать свои требования-если 2 пользователя работают на одной машине, должны ли они оба получить доступ к вашему обновленному списку?
с уважением