为什么这个类属性没有序列化?[可序列化]publicclassProfilesCollection:ObservableCollection{publicProfilesCollection(){}}[可序列化]publicclassProfiles:ObservableCollection{privatestring_name;publicstringName{get{return_name;}设置{_name=值;OnPropertyChanged(newPropertyChanged(E"姓名"));}}publicProfile(){}}[Serializable]publicclassSomeData:INotifyPropertyChanged{//一些属性publicSomeData(){...}[field:NonSerialized]publiceventPropertyChangedEventHandlerPropertyChanged;protectedvoidNotifyPropertyChanged(stringproperty){if(PropertyChanged!=null)PropertyChanged(this,newPropertyChangedEventArgs(property));我正在尝试使用XmlSerializer序列化ProfilesCollection(或Profile)对象:xs.Serialize(作者,_profiles);但是.xml不包含Profile类中的Name属性。除此之外的一切都很好。我应该怎么做才能解决这个问题?当XmlSerializer序列化一个集合时,它只查看集合中的项,而不查看集合类的其他属性。如果需要序列化名称,则需要执行以下操作:publicclassProfile{privatestring_name;publicstringName{get{return_name;}设置{_name=值;OnPropertyChanged(newPropertyChangedEventArgs("名称"));}}privatereadonlyObservableCollection_data=newObservableCollection();公共ObservableCollection数据{获取{返回_data;}}publicProfile(){}}顺便说一下,XmlSerializer不使用Serializable和NonSerialized属性,所以你不需要它们(并且事件不是由XmlSerializer序列化处理的)我认为你的1.xml文件应该有与Profile类的结构相同。(应该有Name节点吧?)以上是C#学习教程:为什么这个类的属性没有序列化?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
