Xml序列化不起作用
本文关键字:不起作用 序列化 Xml | 更新日期: 2023-09-27 18:24:04
我的XML序列化不起作用。
以下代码引发异常:
XmlSerializer x = new XmlSerializer(typeof(GeneralSettings));
我想我的GeneralSettings类出了问题?我搞不清楚到底是什么问题。
应序列化的类别:
[Serializable()]
class GeneralSettings
{
// ---------------------------------------------------------------//
#region Properties for settings
// ---------------------------------------------------------------//
public string ActiveLanguage { get; set; }
public string ActiveLeague { get; set; }
// ---------------------------------------------------------------//
#endregion
// ---------------------------------------------------------------//
// ---------------------------------------------------------------//
#region Constructors
// ---------------------------------------------------------------//
public GeneralSettings()
{
this.ActiveLanguage = "English";
this.ActiveLeague = "";
}
// ---------------------------------------------------------------//
#endregion
// ---------------------------------------------------------------//
}
用于序列化和反序列化的My BaseSettings类
class BaseSettings
{
protected static string FileName
{
get
{
return Path.Combine(Environment.CurrentDirectory, @"Settings'XML'GeneralSettings.xml");
}
}
public static GeneralSettings Load()
{
using (var stream = new FileStream(FileName, FileMode.Open))
{
return (GeneralSettings)new XmlSerializer(typeof(GeneralSettings)).Deserialize(stream);
}
}
public static void Save(GeneralSettings settings)
{
using (var stream = new FileStream(FileName, FileMode.Open))
{
XmlSerializer x = new XmlSerializer(typeof(GeneralSettings));
x.Serialize(stream, settings);
}
}
提前感谢你对我的帮助!
类必须是公共的,才能通过XmlSerializer
类进行序列化。
将类的定义更改为:
public class GeneralSettings
{
...
}