설명하기 어려운 사람은 무엇이 잘못 되었습니까?XML에 대한 클래스의 직렬화가 공백 값을 남기고 있습니다.
클래스를 XML로 직렬화하려고하지만 속성 (클래스 내의 공용 클래스) 중 하나가 XML에 빈 값이 지정됩니다.
저는 XML로 직렬화 중이며 응용 프로그램의 클래스 onload로 deserialising하는 자체의 설정 클래스를 만듭니다.
저장 방법에 디버그 지점을 넣었으며 "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();
}
}
다음은 ColourScheme 클래스를
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이다. (내가 여기를 포맷 할 수없는 것 때문에 추출)
[ColourScheme]
[BaseColour/]
[HighlightColour/]
[SelectedColour/]
[/ColourScheme]
이를 참조하십시오 : 당신은 예를 들어, 각각의 컬러 속성에 대해 프록시 속성을 도입 할 필요가 http://stackoverflow.com/questions/376234/best-solution-for-xmlserializer-and-system-drawing- 색상 –