Трудно объяснить, может ли кто-нибудь определить, что не так?Сериализация класса для XML оставляет пустые значения
Я сериализую класс для XML, но одно из свойств (открытый класс в классе) получает пустые значения в XML.
Я создаю свой собственный класс настроек, который я сериализую в XML и десериализую обратно в класс загрузки приложения.
Я поместил точки отладки в метод сохранения, а «ColourScheme» имеет значения, но они гасятся в XML.
public class SettingsModel
{
// DECLARE: Settings File Location
private static string SettingsFilePath = String.Format(@"{0}\{1}\{2}", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Typhoeus BluePrint", "BluePrint_Settings.xml");
// DECLARE: Public Settings
public DateTime LastUpdated = System.DateTime.Now;
public string StylesheetName = "style.css";
public string WebPageName = "index.html";
public string ProjectDirectory = String.Format(@"{0}\{1}\{2}", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Typhoeus BluePrint", "Projects");
public ColourSchemeClass ColourScheme = new ColourSchemeClass();
public SettingsModel()
{
}
public void Save()
{
LastUpdated = System.DateTime.Now;
// DECLARE: File Stream Object
FileStream fs = new FileStream(SettingsFilePath, FileMode.OpenOrCreate);
// DECLARE: Serialisation Parameters
XmlSerializer ClassSerialiser = new XmlSerializer(typeof(SettingsModel));
// SERIALISE: This Class to XML
ClassSerialiser.Serialize(fs, this);
// CLOSE: File Stream
fs.Close();
}
}
Здесь представлен цветовой гамме Class
public class ColourSchemeClass
{
#region Objects
// DECLARE: Colour Scheme Properties
public Color BaseColour = ColorTranslator.FromHtml("#1E1E1E");
public Color HighlightColour = ColorTranslator.FromHtml("#414141");
public Color SelectedColour = Color.White;
#endregion
#region Constructors
public ColourSchemeClass()
{
}
public ColourSchemeClass (Color Base, Color Highlight, Color Selected)
{
BaseColour = Base;
HighlightColour = Highlight;
SelectedColour = Selected;
}
#endregion
}
Вот XML после сериализации. (Extract, потому что я не могу отформатировать его здесь) (Заменено Тэг открыть и закрыть с помощью квадратных скобок)
[ColourScheme]
[BaseColour/]
[HighlightColour/]
[SelectedColour/]
[/ColourScheme]
Смотреть это: http://stackoverflow.com/questions/376234/best-solution-for-xmlserializer-and-system-drawing- color –