[Serializable]
public class ProfilesCollection : ObservableCollection<Profile>
{
public ProfilesCollection()
{
}
}
[Serializable]
public class Profile : ObservableCollection<SomeData>
{
private string _name;
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged(new PropertyChangedEventArgs("Name"));
}
}
public Profile()
{
}
}
[Serializable]
public class SomeData : INotifyPropertyChanged
{
// some properties
public SomeData()
{ ... }
[field: NonSerialized]
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(string property)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
我正在尝试使用 XmlSerializer 序列化 ProfilesCollection(或 Profile)对象:
using (var writer = new StreamWriter("1.xml"))
{
var xs = new XmlSerializer(typeof(ProfilesCollection));
xs.Serialize(writer, _profiles);
}
但 .xml 不包含 Profile 类中的 Name 属性。除此之外的一切都很好。我应该怎么做才能解决这个问题?